Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 用单例作用域实例化bean_Java_Spring_Singleton - Fatal编程技术网

Java 用单例作用域实例化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何时实例化

<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中