@Target(value={TYPE,METHOD}) @Retention(value=RUNTIME) @Documented public @interface Role
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.
BeanDefinition.ROLE_APPLICATION, 
BeanDefinition.ROLE_INFRASTRUCTURE, 
BeanDefinition.ROLE_SUPPORT, 
Bean| Modifier and Type | Required Element and Description | 
|---|---|
| int | valueSet the role hint for the associated bean. |