org.springframework.context.annotation

## Annotation Type Role

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

Indicates the 'role' hint for a given bean.

May be used on any class directly or indirectly annotated with `Component` or on methods annotated with `Bean`.

If this annotation is not present on a Component or Bean definition, the default value of `BeanDefinition.ROLE_APPLICATION` will apply.

If Role is present on a `@Configuration` class, this indicates the role of the configuration class bean definition and does not cascade to all @`Bean` methods defined within. This behavior is different than that of the @`Lazy` annotation, for example.

Since:
  3.1
Author:
  Chris Beams
See Also:
  `BeanDefinition.ROLE_APPLICATION`, `BeanDefinition.ROLE_INFRASTRUCTURE`, `BeanDefinition.ROLE_SUPPORT`, `Bean`

### Required Element Summary

Required Elements
`int` `value` Set the role hint for the associated bean.

### Element Detail

#### value

    public abstract int value

Set the role hint for the associated bean.

See Also:
  `BeanDefinition.ROLE_APPLICATION`, `BeanDefinition.ROLE_INFRASTRUCTURE`, `BeanDefinition.ROLE_SUPPORT`