文档章节

Spring AOP中的多个表达式(execution)连接的方法

孟飞阳
 孟飞阳
发布于 2016/12/12 17:01
字数 197
阅读 721
收藏 0

声明式事务,多个execution连接方法: 

expression="execution(* pp.business.*.*(..)) or execution(* pp.business.impl.*.*(..))"

spring的帮助手册里有关于execution的连接方式的一句话:

Pointcut expressions can be combined using '&&', '||' and '!'.

但是我写上&&就会报错。很郁闷。。。

||和or的作用相同:在符合* pp.business.*.*(..)和* pp.business.impl.*.*(..)方法上都加上事务性。

<tx:advice id="txAdvice" transaction-manager="transactionManager">  
        <tx:attributes >  
        <tx:method name="add*" propagation="REQUIRED"/>  
        <tx:method name="delete*" propagation="REQUIRED"/>  
        <tx:method name="update*" propagation="REQUIRED"/>  
        <tx:method name="insert*" propagation="REQUIRED"/>  
        <tx:method name="*" read-only="true"/>  
    </tx:attributes>  
</tx:advice>  
  
<aop:config proxy-target-class="true">  
     <aop:pointcut id="allManagerMethod" expression="execution(* pp.business.*.*(..)) or execution(* pp.business.impl.*.*(..))" />  
     <aop:advisor advice-ref="txAdvice" pointcut-ref="allManagerMethod"/>  
</aop:config>  

在aspect中使用方法:

	<aop:config>
	    <aop:aspect id="myLogAspect" ref="logAspect">
	        <aop:pointcut id="logPointCut" expression="execution(* com.alimama.controller.*.*(..)) || execution(* com.alimama.service.IInstanceService.get*(..))"/>
	        <aop:before method="logStart" pointcut-ref="logPointCut"/>
	        <aop:after method="logEnd" pointcut-ref="logPointCut"/>
	    </aop:aspect>
	</aop:config>

 

© 著作权归作者所有

共有 人打赏支持
孟飞阳
粉丝 207
博文 973
码字总数 544644
作品 5
朝阳
个人站长
私信 提问
Spring中的AOP(六)——定义切入点和切入点指示符

定义切入点 在前文(点击查看)中使用到的AdviceTest类中同一个切点(即* com.abc.service..advice(..)匹配的连接点)却重复定义了多次,这显然不符合软件设计的原则,为了解决这个问题,Asp...

摆渡者
2014/03/23
0
3
Spring Aop配置时的切入点表达式

对应的中文: 任意公共方法的执行: execution(public (..)) 任何一个以“set”开始的方法的执行: execution( set(..)) AccountService 接口的任意方法的执行: execution( com.xyz.service...

cswy
2013/12/05
0
0
spring框架 AOP核心详解

AOP称为面向切面编程,在程序开发中主要用来解决一些系统层面上的问题,比如日志,事务,权限等待,Struts2的拦截器设计就是基于AOP的思想,是个比较经典的例子。 一 AOP的基本概念 (1)Aspec...

自古一人
08/02
0
0
《Spring5学习》04 - 面向切面编程

一、Spring面向切面编程的基本概念 面向切面编程(即AOP):把项目中需要再多处使用的功能比如日志、安全和事务等集中到一个类中处理,而不用在每个需要用到该功能的地方显式调用。 横切关注...

老韭菜
08/19
0
0
基于注解的Spring AOP的配置和使用

AOP是OOP的延续,是Aspect Oriented Programming的缩写,意思是面向切面编程。可以通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术。AOP实际是G...

Zero零_度
2015/08/13
0
0

没有更多内容

加载失败,请刷新页面

加载更多

CentOS配置Tomcat监听80端口,虚拟主机

Tomcat更改默认端口为80 更改的配置文件是: /usr/local/tomcat/conf/server.xml [root@test-a ~]# vim /usr/local/tomcat/conf/server.xml # 找到 Connector port="8080" protocol="HTTP/1......

野雪球
今天
5
0
《稻盛和夫经营学》读后感心得体会3180字范文

《稻盛和夫经营学》读后感心得体会3180字范文: 一代日本经营之圣稻盛和夫凭借刻苦勤奋的精神以及深植于佛教的商业道德准则,成为了“佛系”企业家的代表人物。在《稻盛和夫经营学》“领导人...

原创小博客
今天
3
0
java框架学习日志-5(常见的依赖注入)

依赖注入(dependency injection) 之前提到控制反转(Inversion of Control)也叫依赖注入,它们其实是一个东西,只是看的角度不同,这章详细说一下依赖注入。 依赖——指bean对象创建依赖于...

白话
今天
4
0
红外接收器驱动开发

背景:使用系统的红外遥控软件没有反应,然后以为自己接线错误,反复测试,结果烧坏了一个红外接收器,信号主板没有问题。所以自己开发了一个红外接收器的python驱动。接线参见https://my.os...

mbzhong
今天
2
0
ActiveMQ消息传送机制以及ACK机制详解

AcitveMQ是作为一种消息存储和分发组件,涉及到client与broker端数据交互的方方面面,它不仅要担保消息的存储安全性,还要提供额外的手段来确保消息的分发是可靠的。 一. ActiveMQ消息传送机...

watermelon11
今天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部