您已经成功实施了
spring transaction,
在
Spring我们可以通过三种方式实现交易:
- 平台交易管理。
- 声明式 事务管理。
- 程序化 交易管理。
您实现的被称为 通过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"/>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)