cra*_*rty 5 java spring aspectj
我想为aspectj @Around方面指定一个包含多个包的模式.
Example : package 1 : aaa.bbb.ccc.ddd
package 2 : aaa.bbb.ccc.eee
package 3 : aaa.bbb.ccc.eee.fff
Run Code Online (Sandbox Code Playgroud)
我使用的模式:
@Around("execution(* aaa.bbb.ccc.ddd.*.*(..)) && execution(* aaa.bbb.ccc.eee..*.*(..))")
i.e Intercept packages aaa.bbb.ccc.ddd, aaa.bbb.ccc.eee and any sub-package of aaa.bbb.ccc.eee
Run Code Online (Sandbox Code Playgroud)
但这种模式似乎不起作用.虽然指定一个没有&&条件的单一模式.
有人可以说这个模式有什么问题吗?
谢谢,
Gayathri
Roa*_*ner 19
&&代表逻辑AND.你在这里需要的是一个逻辑OR,在AspectJ中是||.
@Pointcut("execution(* aaa.bbb.ccc.ddd.*.*(..))")
public void methodInDddPackage() {}
@Pointcut("execution(* aaa.bbb.ccc.eee.*.*(..))")
public void methodInEeePackage() {}
@Pointcut("methodInDddPackage() || methodInEeePackage()")
public void methodInDddOrEeePackage() {}
Run Code Online (Sandbox Code Playgroud)
下面的等效内联表达式:
@Pointcut("execution(* aaa.bbb.ccc.ddd.*.*(..)) || execution(* aaa.bbb.ccc.eee.*.*(..))")
public void methodInDddOrEeePackageInline() {}
Run Code Online (Sandbox Code Playgroud)
有关更多详细信息,请参见Spring AOP文档页面.
| 归档时间: |
|
| 查看次数: |
10240 次 |
| 最近记录: |