Spring AOP两种实现机制是什么?

2016/09/19 16:14
阅读数 90

Spring AOP两种实现机制是什么?

1.如果是有接口声明的类进行AOP 时,spring调用的是java.lang.reflection.Proxy 类来做处理

2.如果是没有接口声明的类时, spring通过cglib包和内部类来实现


在AOP,权限控制,事务管理等方面都有动态代理的实现。JDK本身有实现动态代理技术,但是略有限制,即被代理的类必须实现某个接口,否则无法使用JDK自带的动态代理,因此,如果不满足条件,就只能使用另一种更加灵活,功能更加强大的动态代理技术—— CGLIB。Spring里会自动在JDK的代理和CGLIB之间切换,同时我们也可以强制Spring使用CGLIB。

<aop:aspectj-autoproxy   proxy-target-class="true"   />配置了这句话的话就会强制使用cglib代理。  默认就是false。

展开阅读全文
AOP
打赏
0
0 收藏
分享
加载中
更多评论
打赏
0 评论
0 收藏
0
分享
返回顶部
顶部