Spring TX:建议和Spring AOP切入点之间的区别

Spring TX:建议和Spring AOP切入点之间的区别,第1张

Spring TX:建议和Spring AOP切入点之间的区别

您已经成功实施了

spring transaction

Spring
我们可以通过三种方式实现交易

  1. 平台交易管理。
  2. 声明式 事务管理。
  3. 程序化 交易管理。

您实现的被称为 通过XML的声明式事务管理

简而言之,您

transaction
通过Spring的AOP功能进行了实现。

tx:advice XML
配置与基于XML的AOP配置耦合在一起可以实现协同组合。例如,我们可以使用方法名称来自动确定我们要对该方法应用哪种事务。

假设
我们想在与启动所有方法应用事务

save
modify
savePizza()
saveColdDrink()
modifyOrder()
modifyBill()
。对于这些,我们必须
advice
在xml文件中定义:

<tx:advice id="txAdvice" >  <tx:attributes>    <tx:method name="save*" propagation="REQUIRED"/>    <tx:method name="modify*" propagation="REQUIRED"/>  </tx:attributes></tx:advice>

正如我们在上面一行中所说的那样,我们的建议已经准备就绪,我们只希望以

save
或开头的方法进行交易
modify
。现在,我们将使用的
pointcut
元素来说明哪些bean需要上述建议
aop-config
。例如,假设我们要将交易建议应用于
com.mytransaction.service
包内所有可用的类。

为此,我们必须在xml文件中添加以下行:

<aop:config>  <aop:pointcut id="allServices"    expression="execution(*com.mytransaction.service.*.*(..))"/>  <aop:advisor advice-ref="txAdvice" pointcut-ref="allServices"/></aop:config>

简而言之,

<tx:advice>
是指我们要应用的交易方式或行为。
pointcut
内部元素
<aop-config>
表示要在何处应用交易,例如
<aop:advisor advice-ref="txAdvice" pointcut-ref="allServices"/>



欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5013827.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-11-15
下一篇 2022-11-14

发表评论

登录后才能评论

评论列表(0条)

保存