昨天看《Spring 3.x企业应用开发实战》
作者建议将<aop:config>中的proxy-target-class设置为true,默认是false.
也就是<aop:config proxy-target-class="true">
理由是:当为false时,spring使用java jdk的java.lang.reflect包中提供的方式来生成代理类
当为true时,spring使用CGLIB包中提供的方式来生成代理类
而代理类执行效率,CGLIB生成的代理类要比jdk生成的代理类高10倍
而生成代理类效率,jdk是CGLIB的8倍
所以在使用单例模式的bean ,建议使用CGLIB生成代理类
如果使用CGLIB生成代理类,必须引入CGLIB的jar包
至于作者怎么得到10倍 8倍的结论,想google一下,结果:
没有评论:
发表评论