Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/303.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring框架下基于XML配置的声明性事务澄清请求_Java_Spring_Spring Mvc_Spring Aop_Spring Transactions - Fatal编程技术网

Java Spring框架下基于XML配置的声明性事务澄清请求

Java Spring框架下基于XML配置的声明性事务澄清请求,java,spring,spring-mvc,spring-aop,spring-transactions,Java,Spring,Spring Mvc,Spring Aop,Spring Transactions,我正在通过XML配置研究Spring声明性事务,阅读本文: 在我的Beans.xml配置文件中,我只有一些问题来理解AOP在这种情况下是如何工作的: <tx:advice id="txAdvice" transaction-manager="transactionManager"> <tx:attributes> <tx:method name="create"/> </tx:attributes>

我正在通过XML配置研究Spring声明性事务,阅读本文:

在我的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

安德里亚

你说得对

aop:pointcut
将找出应用advice的所有连接点,这些连接点由
tx:advice
定义

另外,
tx:advice
使用带有method属性的
tx:method
标记提供额外的标记来过滤这些连接点

在上述例子中


切入点将只找到一个连接点,
tx:advice
将使用
tx:method
的name属性筛选出连接点,并应用指定的配置。在示例中,将使用默认配置值

Spring有很好的文档,请使用它。:)同样对于这个特殊的用例,它提供了一个(非常类似于你的)大量的注释来解释不同部分到底做了什么。我刚刚读了这篇文章,我想知道我个人的解释是否正确。。。