Spring事务配置 - XML +注释在一起 - 哪个是高级?

时间:2012-08-30 08:51:29

标签: spring transactions

假设我有一个Spring bean,它在类或方法级别都标有@Transactional,而且我也有一些Spring XML使用<aop:config>来添加事务性建议。

我认为两种配置可以很好地协同工作,但是当Spring创建其上下文和代理时,如果配置不兼容(例如PROPAGATION_MANDATORY vs PROPAGATION_NEVER),那么哪个配置具有资历?

1 个答案:

答案 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'的优先。

Spring Docs on the subject