注释配置和 spring XML 配置混用如何管理事务的问题
发布网友
发布时间:2023-07-19 13:34
我来回答
共1个回答
热心网友
时间:2023-09-12 23:29
<!-- 手动配上切面的事务,才会触发sessionFactory ,DAO中的getCurrectSession()才可以使用。否则提示no session -->
<tx:annotation-driven transaction-manager="txManager"/>
<bean id="txManager" class="org.springframework.orm.hibernate4.HibernateTransactionManager" >
<property name="sessionFactory" ref="sessionFactory" />
</bean>
<aop:config >
<aop:pointcut id="bussinessService"
expression="execution(public * com.cargo.service.*.*(..))" />
<aop:advisor pointcut-ref="bussinessService"
advice-ref="txAdvice" />
</aop:config>
<tx:advice id="txAdvice" transaction-manager="txManager">
<tx:attributes>
<tx:method name="isExists" read-only="true" />
<tx:method name="find*" read-only="true" />
<tx:method name="save*" propagation="REQUIRED"/>
<tx:method name="delete*" propagation="REQUIRED"/>
<tx:method name="update*" propagation="REQUIRED"/>
<tx:method name="refresh*" propagation="REQUIRED"/>
<tx:method name="list*" read-only="true"/>
<tx:method name="*" read-only="true"/>
<!-- 注意 :为防止Service里的方法名不对应这里的规则出现没有Session的错误,配一个*的method-->
</tx:attributes>
</tx:advice>
这是我配置用的代码。