热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

是否有一个AspectJ切入点表达式搜索所有子包?

如何解决《是否有一个AspectJ切入点表达式搜索所有子包?》经验,为你挑选了1个好方法。

所以我对使用以下表达式声明的方法有一个方面:

@Before("execution(* aaa.bbb.ccc.*.*(..))")

这适用于包中的所有类aaa.bbb.ccc.但是,现在,我想要捕获所有类aaa.bbb,包括那些类aaa.bbb.ccc.所以我试着把它备份到这里:

@Before("execution(* aaa.bbb.*.*(..))")

aaa.bbb但是,这只会从中获取类,并忽略来自的类aaa.bbb.ccc.有没有办法让表达式递归搜索所有子包?



1> asteri..:

得到它了!文本的变化令人惊讶地微不足道.

@Before("execution(* aaa.bbb.*.*(..))")

......变得......

@Before("execution(* aaa.bbb..*.*(..))")

只需在包名和限定符之间添加额外的句点,即可开始比赛.

我做出改变后遇到的一个问题是,所有的Spring都爆炸并且在我身上坠毁.那是因为方面本身是在一个子包中aaa.bbb.因此,如果您这样做,请确保使用一个!within子句来免除您的方面试图自己处理.


这是文档中很好地介绍的基本内容.无论如何,很高兴你自己找到它.您可以通过省略一个点和一个星来优化它:`execution(*aaa.bbb ..*(..))`
[Spring AOP文档,"示例"部分]中也提到了语法模式(http://docs.spring.io/spring/docs/current/spring-framework-reference/html/aop.html#aop-pointcuts -例子).
推荐阅读
author-avatar
福州-台江_616
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有