(延时加载)Spring框架中的lazy-init="true"和default-lazy-init="true"的区别

启动Spring框架,因为default-lazy-init="false",会默认加载整个对象实例图,从初始化Controller(控制层)配置,到Service(业务逻辑层),再到dao(数据访问接口层),最后到数据库连接等等,该default-lazy-init配置默认为false,加重web服务器在运行时的压力,所以出现标题那两种配置很好的解决这个服务器加载不必要提前加载的对象的问题。

1.共同点:

减少启动Spring的时间,减少web服务器在运行的负担。

2.不同点:

1)default-lazy-init参数,其配置形式如下:

<beans default-lazy-init="true" > </beans>

配置default-lazy-init参数为true时,当创建IoC容器时,bean中对象不会实例化,当IoC容器需要实例化某个bean中的对象,对象才被实例化

2.lazy-init参数,其配置形式如下:

<bean id="stu" lazy-init=“true”></bean>

当创建IoC容器时,bean中id为stu对象不会实例化,当IoC容器需要实例化stu对象,才被实例化

注意点:default-lazy-init参数是配置在beans标签中,而lazy-init参数配置在相应需要延时加载的bean标签中,default-lazy-init参数针对所有的bean配置,而lazy-init参数针对需要的延时加载的bean配置,所以lazy-init比default-lazy-init的优先级更高,

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值