我正在通过XML配置学习Spring Declarative Transaction阅读本文: http://www.tutorialspoint.com/spring/declarative_management.htm
在我的 Beans.xml 配置文件中,我只有一些问题需要了解AOP如何工作:
<tx:advice id="txAdvice" transaction-manager="transactionManager">
<tx:attributes>
<tx:method name="create"/>
</tx:attributes>
</tx:advice>
<aop:config>
<aop:pointcut id="createOperation"
expression="execution(* com.tutorialspoint.StudentJDBCTemplate.create(..))"/>
<aop:advisor advice-ref="txAdvice" pointcut-ref="createOperation"/>
</aop:config>
那么,究竟是什么意思呢?
我认为以下列方式工作(但我不确定):
要应用的事务语义封装在定义中,我认为在这种情况下,只需指定 StudentDAO 接口中定义的 create()方法成为交易行为(是不是?)
关于 aop:config 标记内容的含义我认为只能确保上述事务建议针对com.tutorialspoint.StudentJDBCTemplate.create()方法的任何执行运行
是不是?或者我错过了什么?
TNX
安德烈
答案 0 :(得分:2)
你是对的,
aop:pointcut
会找出应用建议的所有连接点,使用tx:advice
定义。
tx:advice
还提供了额外的代码,可以使用带有方法属性的tx:method
代码过滤掉这些连接点。
在上述例子中,
切入点只会找到一个连接点,而tx:advice
将使用tx:method
的name属性过滤掉连接点并应用指定的配置。在示例中,将使用默认配置值。