下面的代码允许在Spring 3.0中声明单例bean:
@Bean
@Scope(BeanDefinition.SCOPE_SINGLETON)
private void setBean1(Bean1 b1) {
this.b1 = b1;
}但是,BeanDefinition没有为请求、会话和全局会话定义作用域值。这些是在哪里定义的?否则,我应该使用@Scope("request")、@Scope("session")和@Scope("global session")吗
发布于 2012-07-01 21:23:16
如果您愿意,您可以使用字符串文字(尽管全局会话将是"globalSession")。
或者,您可以使用在WebApplicationContext中定义的常量。
发布于 2012-07-01 21:28:50
BeanDefinition只有SCOPE_SINGLETON和SCOPE_PROTOTYPE。
其他仅适用于web应用程序的作用域在org.springframework.web.context.WebApplicationContext中定义。
在Constant Field values的javadoc中可以找到一个有用的常量列表。
发布于 2019-09-24 13:58:40
没有一个地方定义了所有的作用域名,并且不是所有的作用域名都有常量:
未定义WebApplicationContext#SCOPE_SESSION
https://stackoverflow.com/questions/11282247
复制相似问题