JSF 2.2: Embrace CDI? CDI 1.0 is part of Java EE 6, it is the standard Dependency Injection specification for Java EE platform. But unfortunately, JSF 2.0 which is also part of Java EE 6 did not adopt CDI as its Dependency Injection/IOC container, but invented its IOC container. Dependency injection in JSF 2.0 In the package javax.faces.bean , there are several annotations provided. You can annotate your JSF backend bean with annotation @ManagedBean and put it in a reasonable scope( @ApplicationScoped , @RequestScoped , @SessionScoped , @ViewScoped , @NoneSopced ). @ManagedBean(name="foo") @RequestScoped public class FooBean{ } The attribute name specified in the @ManagedBean can be accessed via EL in facelets views. You can inject it in other beans via @ManagedProperty . @ManagedBean(name="bar") @RequestScoped public class BarBean{ @ManagedPropertiy("foo") FooBean foo; } In JSF 2.0, it also supports to annotate the fiel...