annotations
incorporates other annotations
specifies
a default scope
zero or more interceptor bindings
optionally a @Named annotation, guaranteeing default EL naming
optionally an @Alternative annotation, specifying all beans in this stereotype are alternatives
Example stereotype:
@RequestScoped // the default scope
@Secure // interceptor binding
@Transactional // interceptor binding
@Named // guarantee EL naming
@Stereotype
@Target(TYPE)
@Retention(RUNTIME)
public @interface Action {}
@Alternative
@Stereotype
@Target(TYPE)
@Retention(RUNTIME)
public @interface Mock {}
possible to apply multiple stereotypes to the same bean
can override scope by specifying a different scope for the bean