singleton=";假;在Spring 4.3.8中不再受支持。需要解决

singleton=";假;在Spring 4.3.8中不再受支持。需要解决,spring,spring-bean,Spring,Spring Bean,我们正在从Spring 3.2.4升级到Spring 4.3.8,其中不再支持singleton=“false”。在Spring4.3.8中设置单例为“false”的方法是什么? 如果sington=“false”,那么这是否意味着Springbean范围已成为“原型”?您可以使用@scope来指定原型bean 例如: 为了进一步阅读,可以使用@Scope指定原型bean 例如: 为了进一步阅读,请按照我记忆中的内容进行阅读,singleton=false是出于某些兼容性原因而保留的,在一些旧版

我们正在从Spring 3.2.4升级到Spring 4.3.8,其中不再支持singleton=“false”。在Spring4.3.8中设置单例为“false”的方法是什么?
如果sington=“false”,那么这是否意味着Springbean范围已成为“原型”?

您可以使用@scope来指定原型bean

例如:


为了进一步阅读,可以使用@Scope指定原型bean

例如:


为了进一步阅读,请按照我记忆中的内容进行阅读,
singleton=false
是出于某些兼容性原因而保留的,在一些旧版本中也有说明:

以下是等效的,尽管是冗余的(默认情况下是单例范围);使用spring-beans-2.0.dtd
class=“com.foo.DefaultAccountService”scope=“singleton”/>

以下内容相当于SpringBeans,并为向后兼容而保留。dtd
class=“com.foo.DefaultAccountService”singleton=“true”/>

无论如何,默认的spring作用域是
单例
,因此即使未指定,但:

  • XML:
    scope=“prototype”
  • Java DSL:
    @Scope(“prototype”)
    @Scope(ConfigurableBeanFactory.Scope\u prototype)

据我记忆所及,
singleton=false
是出于某些兼容性原因而保留的,在一些旧版本中也有说明:

以下是等效的,尽管是冗余的(默认情况下是单例范围);使用spring-beans-2.0.dtd
class=“com.foo.DefaultAccountService”scope=“singleton”/>

以下内容相当于SpringBeans,并为向后兼容而保留。dtd
class=“com.foo.DefaultAccountService”singleton=“true”/>

无论如何,默认的spring作用域是
单例
,因此即使未指定,但:

  • XML:
    scope=“prototype”
  • Java DSL:
    @Scope(“prototype”)
    @Scope(ConfigurableBeanFactory.Scope\u prototype)
正确,scope=“prototype”直接等同于singleton=“false”

  • singleton=“false”的等价物是scope=“prototype”
  • 另一种选择是使用注释@Scope(“原型”)
  • singleton=“true”的等效方法是在spring配置中删除该属性,因为scope=“singleton”是默认值
正确,scope=“prototype”直接等同于singleton=“false”

  • singleton=“false”的等价物是scope=“prototype”
  • 另一种选择是使用注释@Scope(“原型”)
  • singleton=“true”的等效方法是在spring配置中删除该属性,因为scope=“singleton”是默认值
@Bean @Scope("prototype")
public Person personPrototype() {
    return new Person();
}