Saltar al contenido principal

MÓDULO 1 - Introducción a Spring Boot

Visión General​

Este módulo le introduce a Spring Boot, el framework Java más popular para el desarrollo de aplicaciones modernas. Descubrirá su historia, su evolución y los conceptos fundamentales que hacen de Spring Boot una elección imprescindible para los desarrolladores Java.

Objetivos de Aprendizaje​

Al final de este módulo, usted será capaz de:

  • Comprender la evolución de Java EE hacia Spring Boot
  • Identificar las ventajas de Spring Boot frente a los frameworks tradicionales
  • Explicar el modelo MVC y su implementación en Spring
  • Comprender el rol de Apache Tomcat como servidor integrado
  • Conocer Jackson y la gestión de JSON en Java
  • Entender los conceptos de auto-configuración y convención sobre configuración

Contenido del Módulo​

1. Historia y Contexto​

  • La evolución del desarrollo Java
  • Java EE (J2EE) y sus desafíos
  • El surgimiento de Spring Framework
  • La introducción de las anotaciones en Java
  • El nacimiento de Spring Boot

2. Funcionalidades Clave​

  • Auto-configuración inteligente
  • Dependencias agrupadas (Starters)
  • Servidor web integrado
  • Production Ready Features (Actuator)
  • Rapidez de desarrollo
  • Comunidad y ecosistema

3. Conceptos Fundamentales​

  • Modelo MVC (Model-View-Controller)
  • Apache Tomcat y servidores de servlets
  • Jackson para la gestión de JSON
  • Convención sobre Configuración

Duración Estimada​

3 horas (lectura + reflexión + ejercicios)

Prerrequisitos​

  • Conocimientos básicos de Java
  • Nociones de programación orientada a objetos (POO)
  • Comprensión básica de la web (HTTP, cliente-servidor)

Estructura del Módulo​

MODULE 1
├── Introducción a Spring Boot (qué es)
├── ¿Por qué usar Spring Boot? (ventajas)
├── Introducción a los Servicios REST (opcional - repaso)
├── Preparativos RestController (teoría y conceptos)
├── Historia y evolución
├── Funcionalidades clave
├── Anexos (MVC, Tomcat, Jackson)
├── Conclusión
└── Trabajos Prácticos
├── TP1.1: Instalación de Java JDK 17 (Windows, macOS, Linux)
└── TP1.2: Instalación de Maven 3.9.x (Windows, macOS, Linux)

Recursos​

Documentación Oficial​

Lecturas Recomendadas​

  • "Expert One-on-One J2EE Design and Development" - Rod Johnson
  • "Spring Boot in Action" - Craig Walls

Videos​


Próximos Pasos​

Una vez completado este módulo, usted estará listo para:

  1. MÓDULO 2: Crear su primera aplicación Spring Boot
  2. Comprender Spring Initializr
  3. Explorar la estructura de un proyecto Spring Boot

Quiz de Validación​

Al final de este módulo, asegúrese de poder responder a estas preguntas:

  1. ¿Cuáles eran los principales desafíos de Java EE?
  2. ¿Qué es la auto-configuración en Spring Boot?
  3. ¿Cómo simplifica Spring Boot el despliegue?
  4. ¿Cuál es el rol de Jackson en Spring Boot?
  5. ¿Por qué se utiliza el modelo MVC?

Teoría​

  1. ¿Qué es Spring Boot? - Introducción detallada e histórica
  2. ¿Por qué usar Spring Boot? - Las ventajas y razones de adopción
  3. Introducción a los Servicios REST - Repaso opcional sobre los servicios web REST
  4. Preparativos RestController - Preparación teórica antes de la práctica

Trabajos Prácticos​

TP1.1 : Instalación de Java JDK 17​

Objetivo: Instalar y configurar Java JDK 17 en su máquina

Contenido:

  • Instalación de Java JDK 17 en Windows, macOS y Linux (varios métodos por sistema operativo)
  • Configuración de variables de entorno (JAVA_HOME, PATH)
  • Comandos de verificación: java -version, javac -version, which java
  • Diferencia entre JDK, JRE y JVM
  • Resolución de problemas comunes

Duración estimada: 20-30 minutos


TP1.2 : Instalación de Maven 3.9.x​

Objetivo: Instalar y configurar Apache Maven en su máquina

Contenido:

  • Instalación de Maven 3.9.x en Windows, macOS y Linux
  • Configuración de variables de entorno (MAVEN_HOME, PATH)
  • Verificación de la instalación con una primera build
  • Resolución de problemas comunes

Duración estimada: 30-45 minutos

Prerrequisito: JDK 17+ instalado (ver TP1.1)


¡Buena lectura y buen aprendizaje!