Java 在web感知和portal spring上下文中,为@Scope定义的有效值在哪里?

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(“全局会话”)?如果需要,您可以使用字符串文本(尽管全局会话将是“全局会

下面允许在Spring 3.0中声明单例bean:

@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->未定义(至少我没有找到)