莫问前程学无止境 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条)

报告相同问题?

悬赏问题

  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题
  • ¥15 C#算法问题, 不知道怎么处理这个数据的转换
  • ¥15 YoloV5 第三方库的版本对照问题
  • ¥15 请完成下列相关问题!
  • ¥15 drone 推送镜像时候 purge: true 推送完毕后没有删除对应的镜像,手动拷贝到服务器执行结果正确在样才能让指令自动执行成功删除对应镜像,如何解决?