spring的default-lazy-init参数 .

spring在启动的时候,会默认加载会默认加载整个对象实例图,从初始化ACTION配置、到 service配置到dao配置、乃至到数据库连接、事务等等。这样可以减少web服务器在运行时的负担,但是对于开发者来说无疑是效率极低的一个设置了。

    还好,spring提供了default-lazy-init属性,其配置形式如下,applicationContext.xml中:
< beans  default-lazy-init ="true" >   
      < bean  class ="org.xxxx.bean" >   

      。。。。。。 

</beans> 

    spring配置默认default-lazy-init为false,当配置为true时sping不会再去加载整个对象实例图,大大减少了初始化的时间,减少了spring的启动速度。

    这样做只是为了在开发过程中节约启动时间,在部署到实际环境中,倒是没必要设置default-lazy-init为true。毕竟部署到实际环境中不是经常的事,每次启动1分钟倒不是大问题,而且可以提高服务器效率。

    当然,也不是所有的beans都能设置default-lazy-init成为true.对于scheduler的bean不能用lazy-init  

< beans  default-lazy-init ="true" >   
      < bean  class ="org.springframework.scheduling.quartz.SchedulerFactoryBean" >   
          < property   name ="triggers" >   
              < list >   
                  < ref   bean ="buildHtmlTrigger" />   
                  < ref   bean ="askTrigger" />   
                  < ref   bean ="mailSenderTrigger" />   
                  < ref   bean ="topicDetailBuildTrigger" />   
                  < ref   bean ="forumBuildTrigger" />   
                  < ref   bean ="topicBuildTrigger" />   
              </ list >   
          </ property >   
      </ bean >   
</ beans >   



这样的话。所有的scheduler就都不管用了。所以请大家要注意。
refer link:http://blog.csdn.net/fengyun111999/article/details/6320524

猜你喜欢

转载自hck.iteye.com/blog/1852261