Historia de la Evolución

Desde los inicios de Java hasta la era moderna de Spring Boot + Kotlin

  1. ☕

    Java 1.0

    James Gosling y Sun Microsystems lanzan Java 1.0, un lenguaje de programación orientado a objetos que revoluciona el desarrollo de software con su filosofía 'Write Once, Run Anywhere'.

    Wikipedia "Java (programming language)"

  2. 🚀

    Java 5 (Tiger)

    Introducción de Generics, Annotations, Autoboxing y el for-mejorado. Características que modernizan profundamente el lenguaje.

    Wikipedia "Java (programming language)"

  3. 🌱

    Spring Framework 1.0

    Rod Johnson y el equipo de Spring lanzan la versión 1.0 del framework, introduciendo Inversión de Control y Programación Orientada a Aspectos para Java empresarial.

    Spring.io "Spring Framework History"

  4. 💡

    IntelliJ IDEA (1.0)

    JetBrains lanza IntelliJ IDEA, un IDE para Java que revoluciona el desarrollo con navegación inteligente, refactorización avanzada y productividad alta.

    Wikipedia "IntelliJ IDEA"

  5. 🎯

    Kotlin Anuncio

    JetBrains anuncia el lenguaje Kotlin para la JVM, diseñado para mejorar la productividad, seguridad de nulos y sintaxis concisa.

    Ten Years of Kotlin!

  6. ⚡

    Spring Boot 1.0

    Se lanza Spring Boot 1.0, simplificando radicalmente la configuración de aplicaciones Spring mediante auto-configuración, servidores embebidos y dependencias ‘starter’.

    Spring.io "Spring Boot 1.0 Released"

  7. 🤝

    Kotlin + Spring Official

    Spring Framework 5.0 añade soporte oficial para Kotlin. Google anuncia Kotlin como lenguaje oficial para Android.

    Spring.io "Spring Framework 5.0 Released"

  8. 🎊

    Spring Boot 3.0

    Spring Boot 3.0 con Java 17+ baseline, soporte nativo de GraalVM, Jakarta EE 9+, y mejoras significativas en observabilidad y rendimiento.

    Spring.io "Spring Boot 3.0 Released"

  9. ✨

    Modern Spring Boot + Kotlin

    La combinación perfecta: Spring Boot 3.x + Kotlin ofrece desarrollo moderno, conciso y type-safe para crear APIs REST robustas y microservicios.

    Spring.io "Building RESTful Web Services with Spring Boot and Kotlin"

Qué Aprender para APIs REST con Spring Boot

Conocimientos esenciales organizados por área.

📚

Fundamentos Java/Kotlin

  • ✓ OOP
  • ✓ Collections
  • ✓ Lambdas
  • ✓ Coroutines (Kotlin)
  • ✓ Null Safety
🔧

Spring Core

  • ✓ Dependency Injection
  • ✓ IoC Container
  • ✓ Beans
  • ✓ Configuration
  • ✓ Profiles
⚙️

Spring Boot Basics

  • ✓ Auto-configuration
  • ✓ Starters
  • ✓ Application Properties
  • ✓ DevTools
  • ✓ Actuator
🌐

Building REST APIs

  • ✓ @RestController
  • ✓ Request Mapping
  • ✓ HTTP Methods
  • ✓ Path Variables
  • ✓ Request Body
💾

Data Persistence

  • ✓ Spring Data JPA
  • ✓ Hibernate
  • ✓ Repository Pattern
  • ✓ Entity Relationships
  • ✓ Transactions
🔒

Security

  • ✓ Spring Security
  • ✓ JWT
  • ✓ OAuth2
  • ✓ Authentication
  • ✓ Authorization
🧪

Testing

  • ✓ JUnit 5
  • ✓ MockK/Mockito
  • ✓ @SpringBootTest
  • ✓ Integration Tests
  • ✓ TestContainers
🚀

Advanced Topics

  • ✓ Microservices
  • ✓ Docker
  • ✓ Kubernetes
  • ✓ Event-Driven
  • ✓ Reactive Programming
RestController.kt
@RestController
@RequestMapping("/api/products")
class ProductController(
    private val productService: ProductService
) {

    @GetMapping
    fun getAllProducts(): List<Product> = productService.findAll()

    @PostMapping
    fun createProduct(@RequestBody product: Product): Product = productService.save(product)

    @GetMapping("/{id}")
    fun getProduct(@PathVariable id: Long): Product = productService.findById(id) 
        ?: throw NotFoundException("Product not found")
}
    

Roadmap de Aprendizaje Spring Boot + Kotlin

Plan estructurado de 16-20 semanas para dominar el stack

1

Fase 1: Fundamentos (2-3 semanas)

Java/Kotlin básico OOP y Collections Git básico Maven/Gradle
2

Fase 2: Spring Core (2-3 semanas)

Dependency Injection Spring Boot basics REST Controllers Primera API
3

Fase 3: Base de Datos (3-4 semanas)

SQL Spring Data JPA PostgreSQL/MySQL Flyway/Liquibase
4

Fase 4: APIs Avanzadas (3-4 semanas)

Validación Exception Handling DTOs y Mappers Pagination
5

Fase 5: Seguridad (2-3 semanas)

Spring Security JWT OAuth2 Role-based Auth
6

Fase 6: Testing (2 semanas)

Unit Tests Integration Tests MockK TestContainers
7

Fase 7: Producción (2-3 semanas)

Docker CI/CD Monitoring Cloud Deploy

🎓 Recursos Recomendados

📖 Documentación Oficial

Preguntas Frecuentes

¿Qué es el curso de Spring Boot de Arthurolg?

Es un curso online gamificado, inspirado en Pokémon, para aprender Spring Boot y Kotlin con arquitectura hexagonal y TDD. Los retos usan casos de hotelería y ecommerce.

¿Necesito saber Java antes de empezar?

Conviene una base de Java o Kotlin: orientación a objetos, colecciones y Git. La fase 1 del roadmap cubre esos fundamentos en 2 o 3 semanas.

¿Qué versión de Spring Boot y Java cubre el roadmap?

El recorrido llega a Spring Boot 3, con Java 17 o superior como baseline, Jakarta EE 9+ y soporte nativo de GraalVM.

¿Por qué el curso combina Kotlin y Spring Boot?

Spring Boot 3 con Kotlin permite APIs REST y microservicios con código más conciso y null-safety, sin salir del ecosistema Java.

¿Cuánto dura el roadmap?

Son siete fases: fundamentos, Spring Core, base de datos, APIs avanzadas, seguridad, testing y producción. Cada fase está pensada para 2 a 4 semanas.

¿Qué se practica además de crear una API?

Arquitectura hexagonal, TDD, Spring Data JPA, Spring Security con JWT y el paso a producción con Docker, CI/CD y monitorización.

¿Dónde está el código del curso?

El repositorio público es https://github.com/lgzarturo/springboot-course. El roadmap y la historia del stack están en https://www.arthurolg.com/springboot.

¿El roadmap sustituye a la documentación oficial?

No. Ordena el aprendizaje y enlaza la documentación de Spring Boot en https://docs.spring.io/spring-boot/ y los artículos del blog.