码迷,mamicode.com
首页 > 编程语言 > 详细

【Spring】4.2、通过切点来选择连接点

时间:2018-05-12 18:30:56      阅读:186      评论:0      收藏:0      [点我收藏+]

标签:color   pack   表达式语言   异常   编写   amp   子集   aspectj   man   

Spring AOP中,要使用AspectJ的切点表达式语言来定义切点。

Spring仅支持AspectJ切点指示器的一个子集。

Spring是基于代理的,而某些切点表达式是与基于代理的AOP无关的。

下面是Spring AOP所支持的AspectJ切点指示器:

技术分享图片

其中,只有execution指示器是实际执行匹配的,其它指示器都是用来限制匹配的。

 Spring中尝试使用AspectJ其它指示器时,会抛出IllegalArgument-Exception异常

1、编写切点

假设有一个接口

package concert;

public interface Performance{
    public void perform();
}

 

 使用切点表达式设置当perform()方法执行时触发通知的调用:

技术分享图片

使用within()指示器限制仅匹配concert包

技术分享图片

支持的关系操作符有且(&&),或(||),非(!)

如果用XML配置,因为&在XML中有特殊含义,所以可以使用and,or,not来作为关系操作符

2、切点中选择bean

Spring引入了一个新的bean()指示器,通过bean的ID来限制bean

 限制id为woodstock的bean才应用通知

 技术分享图片
 限制id非woodstock的bean才应用通知

技术分享图片

 

【Spring】4.2、通过切点来选择连接点

标签:color   pack   表达式语言   异常   编写   amp   子集   aspectj   man   

原文地址:https://www.cnblogs.com/LiveYourLife/p/9029199.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!