Foo.class有方法bar1(),bar2(),兩個方法都有注解@AuthValidate,對應切面AuthValidateAspect
其他類調用Foo.bar1或bar2時,會觸發切面
但bar1方法內調用bar2()時,不會觸發切面
原因:aop基於Foo類實現了一個代理類FooProxy,外部方法調用時是用FooProxy調用,可以走到切面方法;內部調用時不會走FooProxy,也就不會走到切面方法。
詳情請看此博客
解決辦法:將需要切面方法的部分新建成一個外部類FooAspectService.class,並調用其方法