如果目标对象实现了接口,默认情况下会采用JDK的动态代理实现AOP,但也可以强制使用CGLIB实现AOP。如果目标对象没有实现了接口,必须采用CGLIB库。spring会自动在JDK动态代理和CGLIB之间转换,在项目中加入CGLIB下的*.jar,不用在spring配置文件中加任何关于CGLIB的配置,就可以自动转换代理模式