ast*_*eri 7 java aop expression aspectj spring-aop
所以我对使用以下表达式声明的方法有一个方面:
@Before("execution(* aaa.bbb.ccc.*.*(..))")
Run Code Online (Sandbox Code Playgroud)
这适用于包中的所有类aaa.bbb.ccc.但是,现在,我想要捕获所有类aaa.bbb,包括那些类aaa.bbb.ccc.所以我试着把它备份到这里:
@Before("execution(* aaa.bbb.*.*(..))")
Run Code Online (Sandbox Code Playgroud)
aaa.bbb但是,这只会从中获取类,并忽略来自的类aaa.bbb.ccc.有没有办法让表达式递归搜索所有子包?
ast*_*eri 19
得到它了!文本的变化令人惊讶地微不足道.
@Before("execution(* aaa.bbb.*.*(..))")
Run Code Online (Sandbox Code Playgroud)
......变得......
@Before("execution(* aaa.bbb..*.*(..))")
Run Code Online (Sandbox Code Playgroud)
只需在包名和限定符之间添加额外的句点,即可开始比赛.
我做出改变后遇到的一个问题是,所有的Spring都爆炸并且在我身上坠毁.那是因为方面本身是在一个子包中aaa.bbb.因此,如果您这样做,请确保使用一个!within子句来免除您的方面试图自己处理.