Context and Dependency Injection (CDI)
Nos permite gestionar el ciclo de vida de los componentes con estado a través de contextos de ciclo de vida específicos del dominio e inyectar componentes (servicios) en los objetos del cliente de una manera segura para el tipo. Hay distintos ámbitos dependiendo de del fin de la injección:
- @RequestScoped:
El ciclo de vida de los beans creados con la asignación @RequestScoped se inyectan una vez por petición.
Esto implica que si en el procesamiento de una petición se tiene que inyectar un bean ,(correspondiente a ese bean class) este se crea por cada petición. (Si la app procesa 50 peticiones donde se pide la inyección, se crearan 50 objetos de esa clase)

- @ApplicationScoped:
Se trata de un ámbito en el cual el Bean vive durante todo el ciclo de vida de la aplicación. El Bean se crea una sola vez, cuando la aplicación se inicia y se destruye cuando se esta se cierra. Esto significa que es compartido por todas la peticiones requests y todas las sesiones dentro de la aplicación.
- @SessionScoped:
Ideal para beans que necesitan mantener un estado específico del usuario durante su sesión. Por ejemplo, datos de autenticación del usuario, carrito de compras en una aplicación …
Estructura en Capas de la Aplicación:
Tanto en la creación de módulos Quarkus como Jakarta EE seguiremos la siguiente estructura de capas donde el Dao se encarga de obtener los datos del web service o de una Database y mediante inyecciones se van proporcionando los datos obtenidos a la capa superior.

Deja una respuesta