1
Recordatorio de la configuración clásica de Primavera
- Configuración mediante archivos XML, anotaciones o clases de configuración.
- Establecer parámetros de configuración, utilizando PropertyPlaceholders.
- Configuración de la capa de persistencia, DataSource y EntityManagerFactory.
- Configuración de la capa de negocio y transacciones.
- Configuración de la capa web, Controller y RestController, Spring Security.
- Pruebas unitarias y de integración: SpringTest, MockMvc.
Trabajo práctico
Apropiación de una aplicación Spring clásica que se convertirá en una aplicación Spring Boot en los siguientes capítulos.
2
Inicialización de una aplicación Spring Boot
- El ecosistema Spring y la complejidad de su configuración.
- Principio de "convención por encima de la configuración".
- Arrancadores y autoconfiguración.
- Implementación de Spring Initializar, creación de una aplicación web sencilla.
Trabajo práctico
Identificación de los arrancadores correspondientes a los requisitos, producción del esqueleto de la aplicación Spring Boot en ciernes.
3
Gestión de dependencias y autoconfiguración
- Organización de las dependencias de Maven, gestión transparente de versiones.
- Estructuración del código y buenas prácticas.
- Papel de las anotaciones @SpringBootApplication y @EnableAutoconfiguation, la clase "aplicación".
- Anatomía de una clase de autoconfiguración, papel de las anotaciones @Conditionnal.
- Control de la autoconfiguración, uso de los archivos de propiedades application.properties y application.yml.
- Crea tus propias clases de autoconfiguración.
Trabajo práctico
Reorganización de los paquetes de aplicaciones existentes, creación de una clase "aplicación", control de la configuración automática a las necesidades de la aplicación existente.
4
Diseño de una aplicación Spring Boot
- Definición de perfiles.
- Configuración de logs: log4j2 frente a logback.
- JPA y Spring Data JPA con Spring Boot.
- Spring MVC con Spring Boot.
- Configuración de infraestructuras técnicas integradas (base de datos, contenedor de servlets).
- Configuración de la seguridad en las API REST.
- Facilitar el desarrollo utilizando Spring Boot DevTools.
Trabajo práctico
Implantación de infraestructuras técnicas integradas, maximizando la autoconfiguración.
5
Probar una aplicación Spring Boot
- Autoconfiguración de las pruebas.
- Pruebe la persistencia con @DataJpaTest.
- Prueba de integración con @SpringBootTest.
- Pruebas de API REST con @AutoConfigureMockMvc, @WebMvcTest y RestTemplate.
- Monitorización de una aplicación Spring Boot con Actuator.
Trabajo práctico
Actualización de las pruebas unitarias y de integración de la aplicación a las nuevas prácticas de Spring Boot, supervisando el uso de puntos finales REST.
6
Empaquetado y despliegue de una aplicación Spring Boot
- Creación de una guerra para el despliegue clásico.
- Creación de un tarro ejecutable "autónomo".
- Despliegue en una imagen docker.
Trabajo práctico
Produce un jar autoejecutable y despliégalo en una imagen docker.
7
Introducción a Spring Cloud y arquitecturas de microservicios
- Arquitectura distribuida y microservicios, patrones de arquitectura de microservicios.
- Una visión general de Spring Cloud.
- Externalice la gestión de configuraciones y versiones con Spring Cloud Config.
- Registre y localice dinámicamente servicios con Spring Cloud Netflix.
- Implementación del equilibrio de carga con Spring Cloud LoadBalancer.
- Creación de una pasarela de API con ZUUL y protección del acceso con Spring Security.
- Última línea eliminada
Trabajo práctico
Ingeniería inversa de una aplicación monolítica en una arquitectura de microservicios.