错误
@Before("execution(* com.LightseaBlue.Spring.*(..))")
分析
修改成下面这样,不过是多一个点的事,这就需要详细理解这里参数的含义
我们要找到Spring包下子包的类进行运行,而一个.代表了运行当前包下所有的方法
… 代表运行当前包和子包的方法
@Before("execution(* com.LightseaBlue.Spring..*(..))")
常见的切面表达式
1 所有公有方法的执行
execution(public * *(..))
2 所有以set开头的公有方法的执行
execution(* set*(..))
3 AccountService接口下的所有方法的执行
execution(* com.LightseaBlue.service.AccountService.*(..))
4 com.LightseaBlue.service包下的所有方法的执行
execution(* com.LightseaBlue.service.*.*(..))
5 com.LightseaBlue.service包及其子包下的所有方法的执行
execution(* com.LightseaBlue.service..*.*(..))
6 匹配com.LightseaBlue.service包下的所有类的所有方法(不含子包)
within(com.LightseaBlue.service.*)
7 com.LightseaBlue.service包和子包的所有方法
within(com.LightseaBlue.service..*)
8 匹配AccountService的代理类(不支持通配符)
this(com.LightseaBlue.service.AccountService)