SpringBoot Aop失效原因 (其中之一)
今天在编写 aop 测试demo的时候是可以用的然后把aop写进项目中发现不行经过一番排查是execution表达式写的不正确:
eg: "execution(* com.example.demo.controller.*.*(..))"
第一个 *
表任意返回值
第二个 .*
表示controller包下的所有类
第三个 .*
表示类中的所有方法
最后 (..)
表示方法中的任意参数如果方法中没有参数那就是()
下面写一个例子:
规定在 controller包下的UserController类中的getVerifyCode方法生效
//此方法为上述的方法
public void getVerifyCode(@RequestParam("username") String username, @RequestParam("email") String email) {
}
那么我们应该这样写表达式 "execution(* com.example.demo.controller.UserController.getVerifyCode(..))"