Spring切入点表达式常用写法

来源:互联网 发布:pkpm建筑结构设计软件 编辑:程序博客网 时间:2024/05/29 14:47


原文地址   http://lavasoft.blog.51cto.com/62575/172292


  下面给出一个常见是示例:

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

表达式所处位置如上pointcut的位置。
配置这个为了更好控制切面上的事务,下面是一个事物配置的简单例子:

<tx:advice id="txAdvice" transaction-manager="transactionManager">     <tx:attributes>         <tx:method name="delete*" rollback-for="Exception"/>         <tx:method name="save*" rollback-for="Exception"/>         <tx:method name="update*" rollback-for="Exception"/>         <tx:method name="*" read-only="true" rollback-for="Exception"/>     </tx:attributes> </tx:advice>

通过切面、通知的配置,就为所有的delete/save/update开头的方法添加上了一致性事务,对其他方法添加上了只读事务。
这个还不够细,如果要写更为详细的控制,就需要研究AspectJ切点配置的语法了,其实研究这些标准,还不如拿几个例子看看,解决实际问题就行了。就像写正则表达式一样,标准明摆着,要写好却不容易,从例子着手就能快速上手和领悟。
 
以下文档来自Spring中文开发指南2.5文档,由满江红开源组织翻译:
 SpringAOP 

0 0
原创粉丝点击