假设我有一个Spring bean,它在类或方法级别都标有@Transactional
,而且我也有一些Spring XML使用<aop:config>
来添加事务性建议。
我认为两种配置可以很好地协同工作,但是当Spring创建其上下文和代理时,如果配置不兼容(例如PROPAGATION_MANDATORY vs PROPAGATION_NEVER),那么哪个配置具有资历?
答案 0 :(得分:2)
要明确重复问题的答案,请使用:
<tx:annotation-driven transaction-manager="txManager" order="X"/>
<tx:advice id="txAdvice" transaction-manager="txManager">
<aop:config>
<aop:pointcut id="pointcut" expression="..."/>
<aop:advisor advice-ref="txAdvice" pointcut-ref="pointcut" order="Y"/>
</aop:config>
...'X'和'Y'的低优先。