SpringAop,类内部方法互相调用,不触发注解切面的原因

Foo.class有方法bar1(),bar2(),两个方法都有注解@AuthValidate,对应切面AuthValidateAspect
其他类调用Foo.bar1或bar2时,会触发切面
但bar1方法内调用bar2()时,不会触发切面
原因:aop基于Foo类实现了一个代理类FooProxy,外部方法调用时是用FooProxy调用,可以走到切面方法;内部调用时不会走FooProxy,也就不会走到切面方法。

详情请看此博客
解决办法:将需要切面方法的部分新建成一个外部类FooAspectService.class,并调用其方法

posted @ 2021-06-22 15:11  lpjworkroom  阅读(1189)  评论(0编辑  收藏  举报