Java 用单例作用域实例化bean
下面的bean何时实例化Java 用单例作用域实例化bean,java,spring,singleton,Java,Spring,Singleton,下面的bean何时实例化 <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" scope="singleton"/>
在这种情况下,Spring是否会忽略“lazy init”属性(因为我们使用单例作用域)
加载bean定义时,将创建一个新实例。有人能证实吗
谢谢。这个
<bean id="a" class="Someclass" lazy-init="true" scope="singleton"/>
还有这个
<bean id="a" class="Someclass" lazy-init="true"/>
都是一样的。springbean的默认作用域是singleton。所以它肯定不会忽略这个属性
lazy init=“true”
不会在启动时创建bean。您的bean将仅在请求时创建
在这种情况下,Spring是否忽略了“lazy init”属性(因为我们
是否使用单例范围
不,它不会忽略,只有在第一次访问对象时才会创建对象,而不是在容器启动期间
创建bean定义时,将创建一个新实例
加载。有人能证实吗
不,只有在实际需要bean时才会创建实例
您可以参考spring文档中的同一点,下面是文本(我的重点)
惰性初始化bean告诉IoC容器创建一个bean
第一次请求时而不是启动时的实例但是,当惰性初始化bean是未惰性初始化的单例bean的依赖项时,ApplicationContext在启动时创建惰性初始化bean,因为它必须满足单例的依赖项。惰性初始化bean被注入到非惰性初始化的其他地方的单例bean中