Spring - bean的lazy-init属性(懒加载)
2015-11-20 17:31
309 查看
默认情况下,容器初始化的时候便会把bean实例化,通常这样做可以让一些配置或者bean实例化的异常在容器启动的时候就发现,而不是在N久之后。但有时候,我们希望某个可能不会用到但又不是100%不用的bean能够在我们用的时候才实例化,这样可以节省系统资源。所以万能的Spring为我们提供了lazy-init属性:
上面例子中,容器初始化时not.lazy bean会被实例化,而lazy bean不会被实例化。但如果一个配置了lazy-init="true"属性的bean被另外一个bean依赖,那Spring还是会在容器初始化的时候实例化这个bean。
另外,假设我们希望某个bean的配置文件中的所有bean都是懒加载的,那我们可以给<beans/>标签添加default-lazy-init="true"属性。
<bean id="lazy" class="com.foo.ExpensiveToCreateBean" lazy-init="true"/> <bean name="not.lazy" class="com.foo.AnotherBean"/>
上面例子中,容器初始化时not.lazy bean会被实例化,而lazy bean不会被实例化。但如果一个配置了lazy-init="true"属性的bean被另外一个bean依赖,那Spring还是会在容器初始化的时候实例化这个bean。
另外,假设我们希望某个bean的配置文件中的所有bean都是懒加载的,那我们可以给<beans/>标签添加default-lazy-init="true"属性。
相关文章推荐
- 【Java EE 学习 67 上】【OA项目练习】【JBPM工作流的使用】
- 为什么我们有时不用配置java环境变量?
- Spring - bean的autowire属性(自动装配)
- Android打开MyEclipse报错:发现了以元素 'd:skin' 开头的无效内容。此处不应含有子元素。
- Spring+Mybatis多数据源配置(四)——AbstractRoutingDataSource实现数据源动态切换
- Spring+Mybatis多数据源配置(四)——AbstractRoutingDataSource实现数据源动态切换
- JavaSocket通信Demo
- Spring - bean的依赖关系(depends-on属性)
- java jmf视频播放器无法播放视频问题
- 使用javamail发送附件,实践
- Myeclipse快捷键
- JDK并发工具类源码学习系列——PriorityBlockingQueue
- "Java 反序列化"过程远程命令执行漏洞
- Spring 中的事件监听的实现
- Spring JPA 的使用入门
- Java分页查询工具类
- 【转】如何使用JMeter测试Java项目
- spring中获得sesion的工具类
- Java程序栈信息文件中的秘密(一)
- java 算法之水桶 和冒泡