Kotlin + Spring Boot — 148 lecciones
Kotlin con Spring Boot y Gradle
Aprende Spring Boot y Gradle construyendo. Cada reto de Spring incrusta un mini-Spring hecho a mano (contenedor DI por reflexión + router REST + repositorio en memoria), así que el código @Service/@RestController/@Bean que escribes realmente se cablea y corre en el mismo IDE — evaluado por casos de prueba.
Capítulo 1 · Gradle y el build
Paso 1Gradle is a task graphPaso 2Dependencies & the dependency treePaso 3Configurations: which deps land on which classpathPaso 4Initialization, configuration, executionPaso 5Plugins: tasks, extensions, conventionsPaso 6Source sets: main, test, and their classpathsPaso 7Version catalogs: one source of truth for versionsPaso 8Multi-module builds & project dependencies
Capítulo 2 · Núcleo de Spring — IoC e inyección
Paso 11Inversion of Control & the containerPaso 12Stereotypes: @Component, @Service, @Repository, @RestControllerPaso 13@Configuration classes & @Bean factory methodsPaso 14@Value & Environment property injectionPaso 15@Profile for environment-specific beansPaso 16Bean lifecycle: singleton scope & @PostConstructPaso 17Why constructor injectionPaso 18The ApplicationContext as the bean registry
Capítulo 3 · Web — controladores REST y servicios
Capítulo 4 · Datos — repositorios y persistencia
Capítulo 5 · Testing y producción
Capítulo 6 · AOP y aspectos transversales
Capítulo 7 · Spring Security
Capítulo 8 · Eventos y mensajería
Capítulo 9 · Caché, scheduling y resiliencia
Capítulo 10 · Diseño de APIs y observabilidad
Capítulo 11 · Acceso a datos con JDBC
Capítulo 12 · JPA e Hibernate (ORM)
Capítulo 13 · Spring Data JPA y REST
Capítulo 14 · Web MVC y Thymeleaf
Capítulo 15 · Dominio de APIs REST
Capítulo 16 · Spring Security a fondo
Capítulo 17 · JWT y OAuth2
Capítulo 18 · Spring AI
Capítulo 19 · Microservicios
Capítulo 20 · Despliegue — Docker y AWS
Capítulo 21 ·
Capítulo 22 ·
Paso 211Standard error bodies with ProblemDetailPaso 212@ManyToMany and the join tablePaso 213Transaction propagation & read-onlyPaso 214Optimistic locking with @VersionPaso 215Reactive controllers with coroutinesPaso 216Custom Bean Validation constraintsPaso 217Choosing among many beans: @Primary, @Qualifier, @LazyPaso 218Conditional beans: @ConditionalOnProperty & @ConditionalOnMissingBeanPaso 219Background work with @AsyncPaso 220Calling other APIs with RestClient