当下面的豆将instanciated?Instanciate与单身职责范围的豆
<bean id="a" class="Someclass" lazy-init="true" scope="singleton"/>
在这种情况下Spring是否忽略了“lazy-init”属性(因为我们使用了单例作用域)?
加载bean定义时将创建一个新实例。任何人都可以确认吗?
谢谢。
当下面的豆将instanciated?Instanciate与单身职责范围的豆
<bean id="a" class="Someclass" lazy-init="true" scope="singleton"/>
在这种情况下Spring是否忽略了“lazy-init”属性(因为我们使用了单例作用域)?
加载bean定义时将创建一个新实例。任何人都可以确认吗?
谢谢。
这
<bean id="a" class="Someclass" lazy-init="true" scope="singleton"/>
这
<bean id="a" class="Someclass" lazy-init="true"/>
相同。 spring bean的默认范围是singleton。所以它绝对不会忽略这个属性。
lazy-init="true"
在启动时不会创建您的bean。你的bean只在被请求时才会被创建。
在这种情况下,Spring是否忽略“lazy-init”属性(因为我们的 使用单例范围)?
不,它不会忽略,只有当它被访问一次,而不是在容器中启动的对象将被创建。
加载bean定义为 时,将创建一个新实例。任何人都可以证实吗?
不,只有在实际需要bean时才会创建实例。
您可以从here指在春天文档的相同点和下方是文本(重点煤矿)
懒初始化豆告诉IoC容器,首先,当创建一个bean 实例要求,而不是在启动。 然而,当一个惰性初始化bean是一个未经过延迟初始化的单例bean的依赖时,ApplicationContext在启动时创建了延迟初始化bean,因为它必须满足单例的依赖关系。懒惰初始化的bean被注入到其他地方的单身bean中,而不是延迟初始化的。