Package org.springframework.context.annotation

# Annotation Interface Role

@Target({TYPE,METHOD}) @Retention(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 from the behavior 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
Modifier and Type
Required Element
Description
`int`
`value`
Set the role hint for the associated bean.

## Element Details

### value

int value
Set the role hint for the associated bean.

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