0

我正在阅读这篇文章通过 XML 配置学习 Spring 声明式事务: http ://www.tutorialspoint.com/spring/declarative_management.htm

在这种情况下,我只能很好地理解 AOP 是如何工作的,在我的Beans.xml配置文件中,我有:

   <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() 方法的执行

这样对吗?还是我错过了什么?

肿瘤坏死因子

安德烈亚

4

1 回答 1

2

你说的对,

aop:pointcut将找出应应用建议的所有连接点,使用tx:advice.

还提供了额外的标签来使用带有方法属性tx:advice的标签来过滤掉这些连接点。tx:method

在上面提到的例子中,

切入点将只找到一个连接点,tx:advice并将过滤掉具有tx:methodname 属性的连接点并应用指定的配置。在示例中将使用默认配置值。

于 2013-03-18T12:40:50.873 回答