When this annotation, along with ManagedBean is found on a class, the runtime must act as if a
<managed-bean-scope>application<managed-bean-scope>
element was declared for the corresponding managed bean.

When this annotation, along with ManagedBean is found on a class, the runtime must act as if a
<managed-bean-scope>VALUE<managed-bean-scope>
element was declared for the corresponding managed bean, where VALUE
is the value of the CustomScoped.value() attribute, which must be an EL
expression that evaluates to a Map.

The presence of this annotation on a
field of a class annotated with ManagedBean instructs the
system to inject a value into this property as described in section
JSF.5.3 of the spec prose document in the
<managed-property> subsection.

Package javax.faces.bean Description

At the time of this writing, a forthcoming JCP effort is being
planned to extract the specification for managed beans from JSF and
place it into its own specification. To account for this effort and to
avoid introducing classes into JSF 2.0 that would have to be deprecated
when this effort is complete, implementations of JSF 2.0 are not
required to implement the “Faces Managed Bean Annotation
Specification for Containers Conforming to Servlet 2.5”. However,
JSF implementations are strongly encouraged to implement this
specification, as it provides significant improvements in ease of
use.