CGLIB可以代理接口合类,而JDK只可以代理接口,同时CGLIB的性能远比JDK高很多,显然CGLIB是正确的选择,使用CGLIB唯一需要注意的是,他会为每一个不同的代理类给一个新类,虽然spring1.1开始,spring能正确重用生成的类,从而降低频繁生成带来的运行开销和CGLIB代理类所用的内存。当我们代理类时候,CGLIB是缺省的选项,因为他只有他能生成类的代理,如果在代理接口中使用CGLIB,我们就必须用setOptimize(true)方法将ProxyFactory的优化标志设置为true,同时,使用JDK代理接口是,也要设置/
setInterfaces(new Class[]{ISample.class})
Spring的两种代理JDK和CGLIB的区别浅谈
最新推荐文章于 2024-04-11 17:14:38 发布