博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Spring 中的default-lazy-init="true" 和 lazy-init="true"
阅读量:6134 次
发布时间:2019-06-21

本文共 957 字,大约阅读时间需要 3 分钟。

1、spring的default-lazy-init参数 

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

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

我用以前一个office项目测试了下,因为office的spring文件很多,我就配置了下,启动时间减少60%左右。

2、Spring 中lazy-init 和abstract 属性 

1.lazy-init 
< beans> 
      <bean id="service1" type="bean路径" lazy-init="true"/> 
      <bean id="service2" type="bean路径" lazy-init="false"> 
             <property name="service1" ref="service1"/> 
      </bean> 
< /beans> 
以上两个bean,一个lazy-init属性为true,一个为false,由什么区别呢 
当 IoC容器启动时,service2会实例化,而service1则不会;但是但容器实例化service2时,service1也被实例化了,为什么呢,因为service2需要它。也就是说lazy-init="true"的bean,IoC容器启动时不会实例化该bean,只有当容器需要用到时才实例化它。lazy-init有利于容器效率,对于不需要的bean可以先不管。 
2.abstract 
< bean id="baseTxService"  class="org.springframework.transaction.interceptor.TransactionProxyFactoryBean"  abstract="true"> < /bean> 
bean abstract="true"时,该bean不会被实例化,上面的bean是个模板 

来源:

转载地址:http://ouaua.baihongyu.com/

你可能感兴趣的文章
KNN-笔记(1)
查看>>
距离传感器
查看>>
最小的K个数
查看>>
Libgdx Box2D真实---这缓释微丸(三:规则经常使用body和精灵联合)
查看>>
PHP 取网页变量
查看>>
WCF 学习总结2 -- 配置WCF
查看>>
希尔排序及希尔排序java代码
查看>>
一道有意思的编程思考题:【妖怪和和尚过河问题】
查看>>
深入学习block
查看>>
多重背包问题II
查看>>
Mybatis 入门 -- 最简单的引入和使用
查看>>
《计算机图形学》第1章 计算机图形学综述
查看>>
Java RMI 框架
查看>>
错题0913-java
查看>>
如何用Wireshark捕获USB数据?
查看>>
Wireshark网络抓包(四)——工具
查看>>
Java中ArrayList实现原理
查看>>
GRDB使用SQLite的WAL模式
查看>>
惊叹计算机运行速度的提升---以n Queens 问题为例
查看>>
机房结账功能分析
查看>>