首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spring transactions -将@transactions和<tx:advice>混合到自定义注释中

Spring transactions -将@transactions和<tx:advice>混合到自定义注释中
EN

Stack Overflow用户
提问于 2010-04-20 01:02:14
回答 1查看 4K关注 0票数 1

我的目标是通过某种方式将我的服务类声明为事务性的。我不想把它作为spring配置中的显式声明。在过去的许多次中,我们创建了新的服务,却忘记了在它们周围声明事务。因此,我的意图是,如果我有类似@TransactionalService的自定义注释,它应该执行以下操作:- 1.提供事务性支持2.声明一些默认的事务性支持规则,如spring当前所提供的,如下所示。但与spring不同的是,我希望下面的代码成为我的@TransactionService注释的一部分。

代码语言:javascript
复制
<tx:advice id="txAdvice" transaction-manager="txManager">
<tx:attributes>
<!-- all methods starting with 'get' are read-only -->
<tx:method name="get*" read-only="true"/>
<tx:method name="*"/>

有什么有价值的建议吗?

EN

回答 1

Stack Overflow用户

发布于 2011-04-07 15:07:41

当然,您可以将您的事务服务放在同一个包中,而不是创建新的注释,然后您的切入点(所有事务服务只有一个)将如下所示:

代码语言:javascript
复制
<aop:config>
  <aop:pointcut id="transactionnalServiceMethods" expression="execution(* x.y.transactionnalservice.*.*(..))"/>
  <aop:advisor advice-ref="txAdvice" pointcut-ref="transactionnalServiceMethods"/>
</aop:config>

建议和上面的一样:

代码语言:javascript
复制
  <tx:advice id="txAdvice" transaction-manager="txManager">
  <tx:attributes>
    <!-- all methods starting with 'get' are read-only -->
    <tx:method name="get*" read-only="true"/>
    <tx:method name="*"/>
  </tx:attributes>
  </tx:advice>
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/2669329

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档