Principios, Patrones y la Inyección de Dependencias
Para comprender la arquitectura de Spring Framework, es necesario primero analizar cómo se diseña el software orientado a objetos de forma limpia y mantenible. Los desarrolladores a menudo confunden términos como principios, patrones y frameworks; sin embargo, existe una jerarquía conceptual muy clara entre ellos.
Ecosistema Spring y Arquitectura en Capas
En el desarrollo de aplicaciones empresariales con Java, una de las mayores ventajas de utilizar Spring Framework es que se encarga del código de infraestructura o "fontanería" (plumbing code). Esto permite a los equipos de desarrollo enfocar su esfuerzo exclusivamente en la lógica del negocio.
Contenedores IoC y Configuración de Beans con XML
En los documentos anteriores exploramos los Principios de Diseño (SOLID, IoC, DIP) y la Arquitectura en Capas (Model-Repository-Service). Ahora profundizaremos en el mecanismo técnico que hace posible este ensamblaje: el Contenedor IoC de Spring y la definición declarativa de Spring Beans mediante archivos XML.
Alcances, Ciclo de Vida del Bean y Ejecución Standalone
En el documento anterior aprendimos a definir beans en XML y conectarlos mediante Inyección de Dependencias. Ahora profundizaremos en el comportamiento interno de los beans dentro del contenedor IoC: sus Alcances (Scopes), la personalización de su Ciclo de Vida (Lifecycle) mediante métodos de inicialización y destrucción, y cómo probar la arquitectura en una aplicación Java Standalone utilizando ClassPathXmlApplicationContext.
Integración de Spring Context en Servlets Web
En los documentos anteriores aprendimos a configurar el Contenedor IoC de Spring mediante XML y a ejecutar aplicaciones Java Standalone con ClassPathXmlApplicationContext. Sin embargo, en un entorno web profesional con Servlets (jakarta.servlet), el contenedor web (como Apache Tomcat) gestiona múltiples peticiones HTTP concurrentes.
Slides de la semana
Diapositivas oficiales correspondientes a la Semana 2: Spring Framework, Inversión de Control (IoC), Inyección de Dependencias (DI), Contenedores IoC y Beans XML.