码迷,mamicode.com
首页 > 编程语言 > 详细

spring中Bean的懒加载

时间:2019-07-29 09:38:32      阅读:181      评论:0      收藏:0      [点我收藏+]

标签:ica   懒加载   instant   erb   加载   ted   cat   文件的   标签   

ApplicationContext容器中,当容器一启动时,所有的bean(单例的)都会被创建和注入依赖,这也被视为IOC容器启动过程中的一个步骤。

那如何让一个bean在需要的时候再被创建,而不是容器一加载的时候呢?

在配置文件的bean标签中,将lazy-init属性设置为true

<bean id="lazy" class="com.foo.ExpensiveToCreateBean" lazy-init="true"/>
<bean name="not.lazy" class="com.foo.AnotherBean"/>

这样,当applicationContext容器启动时,该Bean不会初始化,而是当需要使用这个类的时候才会创建实例

还有另外一种情况,就是这个被懒加载的Bean,它被不是一个懒加载的bean所依赖,那么在容器启动时,即使它是懒加载 的,也会被实例化。

全局懒加载

<beans default-lazy-init="true">
    <!-- no beans will be pre-instantiated... -->
</beans>

beans标签中配置default-lazy-init="true"属性即可。

spring中Bean的懒加载

标签:ica   懒加载   instant   erb   加载   ted   cat   文件的   标签   

原文地址:https://www.cnblogs.com/heliusKing/p/11261964.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!