Java 在web感知和portal spring上下文中,为@Scope定义的有效值在哪里?
下面允许在Spring 3.0中声明单例bean:Java 在web感知和portal spring上下文中,为@Scope定义的有效值在哪里?,java,annotations,scope,spring-3,Java,Annotations,Scope,Spring 3,下面允许在Spring 3.0中声明单例bean: @Bean @Scope(BeanDefinition.SCOPE_SINGLETON) private void setBean1(Bean1 b1) { this.b1 = b1; } 但是,BeanDefinition没有为请求、会话和全局会话定义作用域值。这些定义在哪里?否则,我是否应该使用@Scope(“请求”)、@Scope(“会话”)和@Scope(“全局会话”)?如果需要,您可以使用字符串文本(尽管全局会话将是“全局会
@Bean
@Scope(BeanDefinition.SCOPE_SINGLETON)
private void setBean1(Bean1 b1) {
this.b1 = b1;
}
但是,
BeanDefinition
没有为请求、会话和全局会话定义作用域值。这些定义在哪里?否则,我是否应该使用@Scope(“请求”)
、@Scope(“会话”)
和@Scope(“全局会话”)
?如果需要,您可以使用字符串文本(尽管全局会话将是“全局会话”)
或者,您可以使用中定义的常量。
BeanDefinition
仅具有SCOPE\u SINGLETON
和SCOPE\u PROTOTYPE
其他范围仅适用于web应用程序,在org.springframework.web.context.WebApplicationContext
中定义
在javadoc中可以找到一个有用的常量列表。没有一个地方定义了所有的作用域名称,并且不是所有的作用域名称都有常量:
- singleton->ConfigurableBeanFactory#SCOPE_singleton
- 原型->可配置BeanFactory#范围#原型
- 请求->Web应用程序上下文#范围(u请求
- 会话->Web应用程序上下文#范围#会话
- 应用程序->Web应用程序上下文#范围(u应用程序)
- websocket->未定义(至少我没有找到)