Spring 2.0 中使用AOP新特性中关于Poincur的定义规则

众所周知,spring 2.0允许使用scheam和annotation来配置aop,具体请参考这个帖子

 http://blog.csdn.net/daryl715/archive/2007/10/11/1820530.aspx

http://blog.csdn.net/daryl715/archive/2007/10/11/1820577.aspx

在定义诸如  execution(* AOP2Annotation.ISpeaker.* (..))

Spring的executio表达式最长使用Pointcut表示式,语法组成如下共分5个部分

1.表示存取修饰匹配

2.表示传回值类型匹配

3.类类型匹配

4.方法名匹配

5.异常类型匹配

下面举几个execution表达式的例子

1. execution(public * * (..)) 符合任意公开方法 

2.execution(* hello * (,,))   符合任何以hell开头的方法

3.execution(* onlyfun.IHello.* (,,)) 复合IHello接口的任意方法

4.execution(* onlyfun.service.*.* (,,)) 符合service包下任意类的任意方法

5.execution(* onlyfun.service..*.* (,,)) 符合service包及任何包下任意类的任意方法

如果只是需要复合某些类型,还可以使用with表达式

with(onlyfun.service.*) service包下任意类的任意方法

with(onlyfun.service..*) service包及任何包下任意类的任意方法

Spring2.0 还有this,target,args等表达式,可以参考spring2.0的references

你可能感兴趣的:(Spring 2.0 中使用AOP新特性中关于Poincur的定义规则)