【springBoot】切面没有生效的一种可能

tech2024-12-13  6

问题:多个切面正常,一个切面没反应

一如之前的正常切面,正确书写切入点表达式,以及增强的方法,但是没有反应

原因

我是对xxxServiceImpl的方法进行的增强,然而在Controller注入Service之前,已经在Realm种注入了Service,并且 Realm的注入发生在切面惊醒动态代理之前 那么注入的其实是未被代理的Service 所以方法的增强无效 一句话原因:就是在代理发生之前 已经完成了对象注入 未使用代理对象

解决

在最开早注入Service的时候,再加一个@Lazy注解,确保动态代理完成了 再去注入

最新回复(0)