Spring Boot: Qué Es, Cómo Funciona y Cómo Crear tu Primer Proyecto (2026)
Descubre qué es Spring Boot, cómo funciona su auto-configuración y crea tu primer proyecto paso a paso con código real. Guía actualizada 2026.
Spring Boot es una extensión de Spring Framework que elimina la mayor parte de la configuración manual necesaria para crear aplicaciones Java, permitiéndote centrarte en el desarrollo en lugar de en el "cableado" del proyecto.
No es un framework distinto a Spring: es una capa que automatiza la configuración de Spring Framework y añade un servidor embebido, para que puedas ejecutar tu aplicación como un simple .jar sin necesidad de desplegarla en un servidor externo.
¿Qué es Spring Boot?
Spring Boot te permite crear aplicaciones Spring "autocontenidas", con configuración mínima y un servidor web ya integrado. El objetivo es que puedas ir de cero a una aplicación funcionando en minutos, no en horas.
El problema que resuelve Spring Boot
Cómo se construían aplicaciones con Spring Framework antes
Antes de Spring Boot, crear una aplicación Spring implicaba tres grandes bloques de trabajo:
- Crear el proyecto Maven/Gradle y gestionar manualmente cada dependencia.
- Configurar la aplicación mediante XML o anotaciones muy específicas (contextos, beans, seguridad, persistencia...).
- Desplegar el
.warresultante en un servidor de aplicaciones como Tomcat.
Los 3 pasos que Spring Boot simplifica
Spring Boot ataca directamente los pasos 1 y 3: automatiza la selección de dependencias mediante starters y embebe el propio servidor dentro de la aplicación, de forma que solo queda por hacer el paso 2, que es el único que realmente es "desarrollo".
¿Cómo funciona Spring Boot internamente?
Auto-configuración explicada
La anotación @SpringBootApplication combina tres anotaciones: @Configuration, @EnableAutoConfiguration y @ComponentScan. La auto-configuración analiza qué dependencias tienes en el classpath (por ejemplo, si detecta el driver de PostgreSQL) y configura automáticamente los beans necesarios sin que tengas que declararlos a mano.
Servidor embebido
Spring Boot incluye por defecto un servidor Tomcat embebido (también puedes usar Jetty o Undertow) dentro del propio .jar. Al ejecutar la aplicación, el servidor arranca automáticamente: no necesitas instalar ni configurar un Tomcat externo.
Spring Boot Starters
Un starter es un conjunto de dependencias predefinidas y compatibles entre sí para un propósito concreto. En vez de elegir 15 librerías compatibles a mano, añades un starter y Spring Boot resuelve las versiones correctas por ti.
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
Spring Boot vs Spring Framework
| Spring Framework | Spring Boot | |
|---|---|---|
| Configuración | Manual (XML/anotaciones extensas) | Automática (convención sobre configuración) |
| Servidor | Externo (hay que desplegar el .war) | Embebido dentro del .jar |
| Gestión de dependencias | Una a una | Mediante Starters |
| Curva de aprendizaje inicial | Más alta | Más baja |
| Relación entre ambos | Es la base | Se construye sobre Spring Framework |
Tutorial paso a paso: tu primer proyecto Spring Boot
Generar el proyecto en Spring Initializr
Entra en start.spring.io, elige Maven o Gradle, tu versión de Java (17+ recomendado) y añade el starter Spring Web. Descarga el proyecto generado.
Estructura de carpetas
src/main/java/com/tuapp/
├── DemoApplication.java
└── controller/
└── SaludoController.java
src/main/resources/
└── application.properties
Código: tu primer endpoint REST
@SpringBootApplication
public class DemoApplication {
public static void main(String[] args) {
SpringApplication.run(DemoApplication.class, args);
}
}
@RestController
public class SaludoController {
@GetMapping("/saludo")
public String saludo() {
return "Hola desde Spring Boot";
}
}
Ejecutar y probar
Ejecuta DemoApplication como una aplicación Java normal (o mvn spring-boot:run). Por defecto la aplicación arranca en el puerto 8080. Visita http://localhost:8080/saludo y deberías ver el texto de respuesta.
Casos de uso reales de Spring Boot
- APIs REST para aplicaciones web y móviles.
- Arquitecturas de microservicios, donde cada servicio se empaqueta como un
.jarindependiente y se despliega en contenedores Docker. - Backends para aplicaciones enterprise con integración a bases de datos, seguridad y mensajería.
- Aplicaciones batch y procesos programados dentro de infraestructuras cloud.
Spring Boot vs Quarkus vs Micronaut
| Spring Boot | Quarkus | Micronaut | |
|---|---|---|---|
| Enfoque | Propósito general, ecosistema muy maduro | Cloud-native, optimizado para contenedores | Cloud-native, bajo consumo de memoria |
| Tiempo de arranque | Más lento | Muy rápido | Muy rápido |
| Soporte GraalVM | Requiere ajustes | Nativo desde el diseño | Nativo desde el diseño |
| Ecosistema/comunidad | El más grande | Creciente | Creciente |
| Mejor para | Monolitos y microservicios tradicionales | Serverless y microservicios ligeros | Microservicios ligeros |
Novedades de Spring Boot 3
Spring Boot 3 se integra con Spring Framework 6 y exige Java 17 como mínimo. El cambio más relevante a nivel de código es la migración de javax a jakarta como consecuencia de la adopción de Jakarta EE, lo que obliga a actualizar imports en proyectos migrados desde versiones anteriores.
Errores comunes al empezar con Spring Boot
- Olvidar añadir el starter correcto y encontrarse con
ClassNotFoundExceptionen tiempo de ejecución. - Confundir
application.propertiesconapplication.ymly duplicar configuración en ambos. - No entender que el puerto por defecto es 8080 y no cambiarlo cuando hay conflicto con otro proceso local.
- Mezclar dependencias de Spring Framework "puro" con starters de Spring Boot de versiones incompatibles.
Preguntas frecuentes
¿Spring Boot sustituye a Spring Framework? No, se construye encima de él. Spring Boot es una capa de configuración automática y facilidades adicionales sobre Spring Framework.
¿Necesito instalar Tomcat para usar Spring Boot? No. Spring Boot incluye un servidor embebido, por lo que tu aplicación puede ejecutarse de forma independiente.
¿Qué versión de Java necesito para Spring Boot 3? Java 17 como mínimo.
¿Spring Boot es solo para microservicios? No, también es perfectamente válido para aplicaciones monolíticas; de hecho sigue siendo su caso de uso más común.
Siguiente paso para dominar Spring Boot
Entender qué es Spring Boot es el primer paso. El siguiente es aprender a conectar una base de datos real con JPA y a estructurar tu aplicación en capas (controlador, servicio, repositorio) dentro de un proyecto completo.
Newsletter Semanal de Java
Cada viernes recibe lo más nuevo del ecosistema Java: frameworks, herramientas y mejores prácticas.
🔒 Sin spam. Cancela cuando quieras.