org.springframework.context.annotation

## Annotation Type Scope

-     @Target(value={TYPE,METHOD})
      @Retention(value=RUNTIME)
      @Documented
      public @interface Scope

  When used as a type-level annotation in conjunction with the `Component` annotation, indicates the name of a scope to use for instances of the annotated type.

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

  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 via `ConfigurableBeanFactory` and `WebApplicationContext` interfaces.

  To register additional custom scopes, see `CustomScopeConfigurer`.

  Since:
    2.5
  Author:
    Mark Fisher, Chris Beams
  See Also:
    `Component`, `Bean`

- - ### Optional Element Summary

    Optional Elements
    Modifier and Type | Optional Element and Description
    --- | ---
    `ScopedProxyMode` | `proxyMode` Specifies whether a component should be configured as a scoped proxy and if so, whether the proxy should be interface-based or subclass-based.
    `String` | `value` Specifies the scope to use for the annotated component/bean.

- - ### Element Detail

    - #### value

          public abstract String value

      Specifies the scope to use for the annotated component/bean.
      See Also:
        `ConfigurableBeanFactory.SCOPE_SINGLETON`, `ConfigurableBeanFactory.SCOPE_PROTOTYPE`, `WebApplicationContext.SCOPE_REQUEST`, `WebApplicationContext.SCOPE_SESSION`
      Default:
        "singleton"

    - #### proxyMode

          public abstract ScopedProxyMode proxyMode

      Specifies whether a component should be configured as a scoped proxy and if so, whether the proxy should be interface-based or subclass-based.

      Defaults to `ScopedProxyMode.NO`, indicating that no scoped proxy should be created.

      Analogous to `<aop:scoped-proxy/>` support in Spring XML.

      Default:
        org.springframework.context.annotation.ScopedProxyMode.DEFAULT