为什么spring aop没办法切入、拦截、代理static修饰的静态方法?

为什么spring aop没办法切入、拦截、代理static修饰的静态方法?

因为spring的aop实现原理是通过JDK或者cglib为目标接口或者目标类生成一个代理对象,在这个生成的代理对象中,对要切入的方法进行重写,以此来实现各种想要的切面业务操作。

那为什么aop无法切入static修饰的静态方法/无法代理static方法呢?因为static修饰的方法是静态方法,而静态方法是可继承但不可被重写的。

这样一来,问题就解开了,因为static关键词的特殊限制,所以导致了aop无法切入/代理static修饰的方法。
为什么spring aop没办法切入、拦截、代理static修饰的静态方法?_第1张图片

你可能感兴趣的:(问题记录,spring,java,后端)