Introducción a Spring Boot
En este capítulo entenderemos qué es Spring Boot, por qué existe y para qué se utiliza.
Intentaremos explicarlo de forma muy clara antes de empezar a programar.
1. Qué es Spring Framework #
Spring es un framework de Java que sirve para construir aplicaciones.
Un framework es un conjunto de herramientas que facilita el desarrollo de software.
Spring se usa principalmente para crear:
- aplicaciones web
- APIs
- microservicios
- aplicaciones empresariales
Spring nació en 2002 para solucionar problemas de Java empresarial (J2EE).
2. Problema que había antes #
Antes de Spring, crear aplicaciones Java grandes era muy complicado.
Había que configurar muchas cosas manualmente:
- servidores
- bases de datos
- objetos
- dependencias
- seguridad
El código se volvía muy complejo.
Ejemplo típico antiguo:
1UserService userService = new UserService(new UserRepository(new DatabaseConnection()));
Aquí el programador tiene que crear todo manualmente.
3. Qué propone Spring #
Spring introduce un concepto clave:
Inversión de Control (IoC)
Esto significa que Spring se encarga de crear los objetos por nosotros.
Ejemplo con Spring:
1@Service 2public class UserService { 3 4 private final UserRepository repository; 5 6 public UserService(UserRepository repository) { 7 this.repository = repository; 8 } 9 10}
Spring automáticamente:
- crea
UserRepository - lo inyecta en
UserService
El programador no tiene que hacerlo manualmente.
4. Qué es Spring Boot #
Spring Boot es una herramienta que simplifica el uso de Spring.
Spring tradicional requiere mucha configuración.
Spring Boot elimina casi toda esa configuración.
5. Sin Spring Boot #
Había que configurar:
- servidor web
- dependencias
- configuración XML
- configuración de base de datos
- configuración de seguridad
Esto podía llevar mucho tiempo.
6. Con Spring Boot #
Con Spring Boot puedes crear una aplicación completa con muy poco código.
Ejemplo de aplicación mínima:
1@SpringBootApplication 2public class Application { 3 4 public static void main(String[] args) { 5 SpringApplication.run(Application.class, args); 6 } 7 8}
Eso es suficiente para arrancar una aplicación Spring Boot.
7. Qué hace Spring Boot automáticamente #
Spring Boot configura muchas cosas por ti.
Por ejemplo:
- servidor web
- JSON
- APIs REST
- conexión con base de datos
- seguridad básica
- logs
Esto se llama:
Auto Configuration
8. Ejemplo #
Si añades esta dependencia:
1spring-boot-starter-web
Spring Boot automáticamente configura:
- Tomcat (servidor web)
- Jackson (JSON)
- Spring MVC
- REST controllers
No tienes que configurar nada.
9. Qué aplicaciones se pueden crear con Spring Boot #
Spring Boot se usa muchísimo en empresas.
Se utiliza para crear:
APIs REST #
Ejemplo:
GET /users
POST /users
DELETE /users
Aplicaciones web #
Aplicaciones completas con:
- backend Java
- frontend Angular / React
Microservicios #
Muchas empresas usan arquitectura de microservicios.
Cada servicio es una aplicación Spring Boot.
Ejemplo:
Servicio usuarios
Servicio pagos
Servicio pedidos
Servicio notificaciones
Sistemas empresariales #
Spring Boot se usa en:
- bancos
- aerolíneas
- comercio electrónico
- sistemas médicos
- sistemas educativos
10. Por qué Spring Boot es tan popular #
Spring Boot se ha convertido en el framework más usado de Java.
Las razones son:
Es muy rápido de desarrollar #
Antes:
configuración complicada
Ahora:
crear proyecto → programar → listo
Tiene un ecosistema enorme #
Spring incluye muchos módulos:
- Spring Boot
- Spring Security
- Spring Data
- Spring Cloud
- Spring Batch
- Spring AI
Funciona muy bien con bases de datos #
Spring Boot se integra fácilmente con:
- PostgreSQL
- MySQL
- MongoDB
- Oracle
- SQL Server
Es ideal para APIs #
Crear APIs REST es muy sencillo.
Ejemplo:
1@RestController 2public class HelloController { 3 4 @GetMapping("/hello") 5 public String hello() { 6 return "Hola mundo"; 7 } 8 9}
Si ejecutamos la aplicación:
http://localhost:8080/hello
Respuesta:
Hola mundo
11. Qué versiones se usan hoy #
Hoy en día se utiliza:
Spring Boot 3 #
Características:
- Java 17+
- Jakarta EE
- mejor rendimiento
- soporte nativo para contenedores
- arquitectura moderna
12. Qué aprenderemos en este curso #
En este curso aprenderás a construir aplicaciones completas con Spring Boot.
Aprenderemos:
- crear APIs REST
- conectar bases de datos
- usar SQL y JPA
- manejar errores
- seguridad con JWT
- testing
- despliegue en producción
Al final construiremos un proyecto real completo.
Resumen del tema
Conceptos clave #
- Spring Framework: ecosistema líder de Java para desarrollo backend empresarial, fundamentado en la Inversión de Control (IoC) y la Inyección de Dependencias (DI).
- Propósito de Spring Boot: simplificación radical mediante autoconfiguración (Auto-Configuration), dependencias empaquetadas (Starters) y servidor web embebido (Tomcat por defecto).
- Anotación
@SpringBootApplication: meta-anotación que combina@Configuration,@EnableAutoConfigurationy@ComponentScan. - Casos de Uso Principales: APIs REST escalables, aplicaciones web monolíticas/híbridas, microservicios distribuidos con Spring Cloud y procesamiento por lotes con Spring Batch.
- Requisitos de Spring Boot 3: adopción obligatoria de Java 17+ y migración del namespace
javax.*ajakarta.*(Jakarta EE 9+).
Qué debes recordar #
Spring Boot elimina el boilerplate y la configuración XML de Spring mediante convenciones inteligentes, starters y autoconfiguración para crear aplicaciones de producción listas para ejecutar.