spring AOP 内部方法调用失效问题
今天在处理用户信息加密的时候发现,AOP切入不生效特此记录一下
原调用方式如图:
@InsertCiphertextTable 注解是我自定义的一个注解,目的是为了插入加密后的密文模糊查询
但是发现 切面的时候 一直进不去,也找了很久的原因,后面一想,内部直接这么调用能走AOP的代理吗,然后就去补习了一下基础知识,AOP是使用代理切入的,内部调用是this 根本没走spring的Bean 管理也就是说 AOP无法找到这个方法,所以就不能切入
我的解决办法:
我直接在UserService 定义了这两个方法,然后在通过注入当前类 也就是UserServcie,这么做的目的是去调用spring 管理的 Bean (UserSercie)
注意 引用的时候加个 懒加载 否则你的Controller 会报错的