zoukankan      html  css  js  c++  java
  • spring中Bean的懒加载

    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"属性即可。

    你所看得到的天才不过是在你看不到的时候还在努力罢了!
  • 相关阅读:
    commonjs promise/A 规范
    Java之抽象类
    Java中多态的用法
    Java之方法的重写
    Java中static的用法
    java中this的用法
    Java概述
    二叉排序树的创建、插入、删除
    常用排序算法
    LeetCode小白菜笔记[2]:Reverse Integer
  • 原文地址:https://www.cnblogs.com/heliusKing/p/11261964.html
Copyright © 2011-2022 走看看