莫问前程学无止境 2018-06-08 17:06 采纳率: 50%
浏览 3152
已采纳

spring配置事务是用来干嘛的

在写程序的时候,用到了spring,然后看到使用了spring的事务配置,一直不知道这是干嘛的

<bean id="sessionFactory" class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">
    <property name="configLocation">
        <value>classpath:hibernate.cfg.xml</value>
    </property> 
    <property name="hibernateProperties">
        <props> 
        <prop key="hibernate.connection.autocommit">true</prop>
        </props>
    </property>
</bean>           

<!-- 配置事务管理器 -->
<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager">
    <property name="sessionFactory">
        <ref bean="sessionFactory"/>
    </property> 
</bean>

<!-- 配置事务的传播特性 -->
<tx:advice id="txAdvice" transaction-manager="transactionManager">
    <tx:attributes>
        <tx:method name="*" propagation="REQUIRED"/>
        <tx:method name="useradd*" propagation="REQUIRED"/>
        <tx:method name="delete*" propagation="REQUIRED"/>
        <tx:method name="update*" propagation="REQUIRED"/>

    </tx:attributes>
</tx:advice>

<!-- 那些类的哪些方法参与事务 -->
<aop:config>
    <aop:pointcut id="allManagerMethod" expression="execution(* dao.*.*(..))"/>
    <aop:advisor pointcut-ref="allManagerMethod" advice-ref="txAdvice"/>
</aop:config>
  • 写回答

6条回答 默认 最新

  • kkdfgdf 2018-06-09 02:33
    关注

    spring就是作为容器去管理你的类,有spring管理的类在整个服务器启动期间在内存中只生成一份。
    Spring的Ioc(控制反转和依赖注入)
    控制反转:就是由容器控制程序之间的(依赖)关系,而非传统实现中,由程序代码直
    接操控。
    依赖注入:组件之间的依赖关系由容器在运行期决定 ,由容器动态的将某种依赖关系注
    入到组件之中。通俗点说,例如A,B两个类都交由spring管理,A中有B的引用,那么在配置中可以事先配置好,服务器启动时初始化A的时候会自动将B注入到A中,而不用再A中再次去用new来初始化B。spring还可以对事物进行管理。将hibernate的sessionFactory交由spring进行管理。她封装了所有对事务处理的功能,包括异常时事务回滚,操作成功时数据提交等复杂业务功能。这都是由Spring容器来管理,大大减少了程序员的代码量,也对事务有了很好的管理控制。

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(5条)

报告相同问题?

悬赏问题

  • ¥20 ML307A在使用AT命令连接EMQX平台的MQTT时被拒绝
  • ¥20 腾讯企业邮箱邮件可以恢复么
  • ¥15 有人知道怎么将自己的迁移策略布到edgecloudsim上使用吗?
  • ¥15 错误 LNK2001 无法解析的外部符号
  • ¥50 安装pyaudiokits失败
  • ¥15 计组这些题应该咋做呀
  • ¥60 更换迈创SOL6M4AE卡的时候,驱动要重新装才能使用,怎么解决?
  • ¥15 让node服务器有自动加载文件的功能
  • ¥15 jmeter脚本回放有的是对的有的是错的
  • ¥15 r语言蛋白组学相关问题