spring之lazy-init

lazy-init:延迟实例化

ApplicationContext实现的默认行为就是在启动服务器时将所有singleton bean提前进行实例化。提前实例化意味着作为初始化过程的一部分,applicationContext实例会创建并配置所有的singleton bean。通常情况下这是一件好事,因为这样在配置中的任何错误就会被立刻实现。

lazy-init:表示启动服务器时不初始化,只有当用到时才回去初始化实例。

但是有时候提前实例化并不是我们所想要的,比如容器中有几百个实例,这时候如果工程启动会比较慢,如果需要频繁的启动,这时候就可以配置lazy-init了,不过基本不需要配置

如果bean的scope属性是prototype这时候即使设置了lazy-init,也不会生效,因为prototype类型的bean只会在调用getBean方法时才会初始化

posted @ 2017-09-18 14:52  梦天幻  阅读(310)  评论(0编辑  收藏  举报