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
    Modifier and Type | Required Element and Description
    --- | ---
    `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`