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
`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