【发布时间】:2014-02-19 22:46:52
【问题描述】:
也许我遗漏了什么,但没有任何类提供Scope.PROTOTYPE, Scope.SINGLETON 静态引用吗?
或者我是否总是必须使用非类型安全的字符串作为作用域?
@Scope("prototype")
@Scope("singleton")
【问题讨论】:
也许我遗漏了什么,但没有任何类提供Scope.PROTOTYPE, Scope.SINGLETON 静态引用吗?
或者我是否总是必须使用非类型安全的字符串作为作用域?
@Scope("prototype")
@Scope("singleton")
【问题讨论】:
根据Scope 的文档,value 元素的类型为String,而不是某个枚举常量。因此,我们正在搜索一个类,其中暴露了 value 元素的可能值。
BeanDefinition 是您要查找的课程。它提供了几个public static String 字段,但您可能对这两个感兴趣:
SCOPE_SINGLETON
SCOPE_PROTOTYPE
例如,它们可以像这样使用:
@Scope(value = BeanDefinition.SCOPE_PROTOTYPE)
我建议重新使用它们,而不是一直设置字符串文字,因为你可能会打错字。
【讨论】:
可以用来避免字面字符串的常量是:
ConfigurableBeanFactory.SCOPE_SINGLETON
ConfigurableBeanFactory.SCOPE_PROTOTYPE
WebApplicationContext.SCOPE_REQUEST
WebApplicationContext.SCOPE_SESSION
【讨论】: