当前位置: 代码迷 >> 综合 >> Spring切面编程错误warning no match for this type name:com.xxx.xxx [Xlint:invalidAbsoluteTypeName]
  详细解决方案

Spring切面编程错误warning no match for this type name:com.xxx.xxx [Xlint:invalidAbsoluteTypeName]

热度:14   发布时间:2024-02-09 04:03:02.0

错误

@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)
  相关解决方案