• Spring装配Bean的过程补充


    对上一篇的《Spring装配Bean的过程》的过程说一下,不然真产生了误区。

    误区在哪里呢?那就是spring bean的作用域问题。

    说哈常用的两种作用域:默认是scope = singleton
    singleton:在每个Spring IoC容器中一个bean定义对应一个对象实例。

    prototype:一个bean定义对应多个对象实例,每次获取bean就是实例化新的bean。

    下面说重点了:

    当scope=singleton,即默认情况,会在容器初始化时实例化。但我们可以指定Bean节点的lazy-init=”true”来延迟初始化bean,这时候,只有第一次获取bean才会初始化bean,即第一次请求该bean时才初始化。这种情况就是上一篇博客中说明的。

    就是想补充一点: 如果想对所有bean都应用延迟初始化,可以在根节点beans设置default-lazy-init=”true”。

    现在才是这篇博客的关键,误区之所在了。注意了哦。。。

    当scope=prototype时,也会延迟初始化bean,即第一次请求该bean时才初始化。

    是不是很惊讶啊。。。

    那设置了scope=prototype和设置lazy-init=”true”对加载bean来说有区别不呢?

    我的回答是他们压根儿就不是一回事,但是他们都会延迟bean的实例化。

    今天工作中看别人代码带来的误区。就这么记下来了。。。

  • 相关阅读:
    break return continue
    爬虫---请求
    pycharm加开头注释
    爬虫---入门
    pip
    XML基础
    英语
    布局
    adobe
    StackOverflow
  • 原文地址:https://www.cnblogs.com/xubiao/p/5331289.html
Copyright © 2020-2023  润新知