注释类型 Scope


  • @Target({TYPE,METHOD})
    @Retention(RUNTIME)
    @Documented
    public @interface Scope
    When used as a type-level annotation in conjunction with @Component, @Scope indicates the name of a scope to use for instances of the annotated type.

    When used as a method-level annotation in conjunction with @Bean, @Scope indicates the name of a scope to use for the instance returned from the method.

    NOTE:@Scope annotations are only introspected on the concrete bean class (for annotated components) or the factory method (for @Bean methods). In contrast to XML bean definitions, there is no notion of bean definition inheritance, and inheritance hierarchies at the class level are irrelevant for metadata purposes.

    In this context, scope means the lifecycle of an instance, such as singleton, prototype, and so forth. Scopes provided out of the box in Spring may be referred to using the SCOPE_* constants available in the ConfigurableBeanFactory and WebApplicationContext interfaces.

    To register additional custom scopes, see CustomScopeConfigurer.

    从以下版本开始:
    2.5
    作者:
    Mark Fisher, Chris Beams, Sam Brannen
    另请参阅:
    Component, Bean
    • 可选元素概要

      可选元素 
      修饰符和类型可选元素说明
      ScopedProxyModeproxyMode
      Specifies whether a component should be configured as a scoped proxy and if so, whether the proxy should be interface-based or subclass-based.
      StringscopeName
      Specifies the name of the scope to use for the annotated component/bean.
      Stringvalue
      Alias for scopeName().