加快建设企业门户网站建,群晖做网站服务器 套件,网站建设概括,龙岗网站建设找深一首先#xff0c;Spring的AOP其实是通过动态代理实现的#xff0c;所以#xff0c;想要让AOP生效#xff0c;前提必须是动态代理生效#xff0c;并且可以调用到代理对象的方法什么情况下会不走代理对象的调用呢#xff1f;首先就是类内部的调用#xff0c;比如一些私有方…首先Spring的AOP其实是通过动态代理实现的所以想要让AOP生效前提必须是动态代理生效并且可以调用到代理对象的方法什么情况下会不走代理对象的调用呢首先就是类内部的调用比如一些私有方法调用内部类调用以及同一个类中方法的自调用等如 以上都是因为在对象内部直接调用其他方法就会用原始对象直接调用了不会调用到代理对象所以代理会失效类似的还有一种情况虽然不是对象的自调用但是他也是因为没有调用到代理对象那就是调用static方法因为这类方法是属于这个类的并不是对象的所以无法被AOP 还有一种方法也无法被代理那就是final方法由于AOP是通过创建代理对象来实现的而无法对final方法进行子类化和覆盖所以无法拦截这些方法 所以那么总结一下就是以下几种情况会导致代理失效AOP不起作用 1、私有方法调用 2、静态方法调用 3、final方法调用 4、类内部自调用 5、内部类方法调用