2013-06-18 30 views
3

假设在弹簧项目,我目前的封装结构: com.stackoverflow | - 服务 | - 实体 | - 控制器 | - 包1 | - 包装2 | -util如何申请AOP在全包,除了一个子包

如何将一个方面应用于com.stackoverflow下的所有软件包(util包除外)?

它适用于一切,执行表达式将是“com.stackoverflow .. (..)”

应执行的表达是什么在这种情况下,我想删除从使用util子包执行表达式?

回答

6

使用AND &&和NOT !运营商在你的Pointcut表达

@Pointcut ("execution (* com.stackoverflow..*.*(..)) && " + 
      "!execution (* com.stackoverflow.util..*.*(..))") 
2

这个怎么样:

pointcut="execution(* com.stackoverflow.*.*(..)) && !execution(* com.stackoverflow.util.*.*(..))"