Dependency injection
Dependency injection is a technique for supplying external dependencies to a Java class. CDI includes the @Inject
annotation, which can be used to inject instances of CDI beans into any dependent objects.
Jakarta Faces applications typically follow the Model-View-Controller (MVC) design pattern. As such, frequently some Jakarta Faces managed beans take the role of controllers in the pattern, while others take the role of the model. This approach typically requires the controller-managed bean to have access to one or more of the model-managed beans. CDI’s dependency injection capabilities make injecting beans into one another very simple, as illustrated in the following example:
package com.ensode.jakartaeebook.cdinamedbeans.beans; //imports omitted for brevity @Named @RequestScoped public class CustomerController { private static final Logger logger = Logger.getLogger( CustomerController.class.getName...