spring aop 原理

spring AOP两种实现机制是什么?动态代理技术

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

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


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

配置了这句话的话就会强制使用cglib代理。  默认就是false。

你可能感兴趣的:(spring)