The
JSF 2.2 specification says: The annotations in the package
javax.faces.bean will be deprecated in a version of the JSF specification after 2.2. Therefore, developers are
strongly recommended avoid using those annotations and instead use the ones from Java EE 6 (CDI). In all relevant books/articles from A.Gupta, D.Weil, A.Bien, A.Gipson etc. CDI beans are recommended. CDI beans are far more flexible as you can make use of type safe injection filtered by qualifiers, interceptors, scopes, events, decorators, stereotypes and producer methods.