sping aop动态代理指定方法疑问

laigous 发布于 2018/12/10 16:24
阅读 92
收藏 0

JDK动态代理和CGLIB的动态代理都会对目标类的所有方法进行加强处理,那么sping aop是如何将不需要加强的方法过滤的呢。

加载中
0
carl651
carl651

配置spring aop的时候就会要求指定需要代理的类和方法,不指定的类和方法不代理

0
laigous
laigous

引用来自“carl651”的评论

配置spring aop的时候就会要求指定需要代理的类和方法,不指定的类和方法不代理

看了spring JdkDynamicAopProxy源码,生成的代理类所有的方法确实都被增强了,在最终invoke时将不增强的方法直接调用原类方法处理,可以理解为我们定义

的spring切面只是一个方法,最终走不走这个方法是在JdkDynamicAopProxy.invoke里判断的。所有的切面其实都是JdkDynamicAopProxy切面。

返回顶部
顶部