Spring4:没有默认构造函数的基于CGLIB的代理类
时间: 2024-04-01 13:36:12 浏览: 50
在Spring4中,如果一个被代理的类没有默认构造函数,那么Spring会使用CGLIB代理来创建代理对象。CGLIB是一个强大的代码生成库,它可以在运行时动态生成字节码,并且可以创建一个没有默认构造函数的代理对象。
当一个被代理的类没有默认构造函数时,Spring会使用CGLIB来创建代理对象。CGLIB会通过继承被代理类,并在子类中创建一个带有默认构造函数的代理类。这个代理类会调用父类的有参构造函数,并使用CGLIB的Enhancer类来增强代理类的行为。
需要注意的是,如果被代理的类是final类,那么CGLIB就无法代理该类,因为final类不能被继承。此时,可以考虑使用JDK动态代理来创建代理对象。
阅读全文