Spring4.2通过切点来选择连接点
Posted Java全栈从0到1
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spring4.2通过切点来选择连接点相关的知识,希望对你有一定的参考价值。
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才应用通知
以上是关于Spring4.2通过切点来选择连接点的主要内容,如果未能解决你的问题,请参考以下文章