Si estás aprendiendo desarrollo backend con Java, Spring Boot es el framework que más vas a escuchar. Es el estándar de facto para crear APIs REST y aplicaciones empresariales en Java. En este artículo te explico qué es, para qué sirve y cómo empezar desde cero.
¿Qué es Spring Boot?
Spring Boot es un framework de desarrollo backend basado en Java que simplifica enormemente la creación de aplicaciones y APIs REST. Está construido sobre el framework Spring, que existe desde 2003, pero añade una capa de autoconfiguración que elimina la mayor parte de la configuración manual.
Dicho de forma sencilla: Spring Boot te permite crear una API REST funcional en minutos, con un servidor web incluido, sin necesidad de configurar prácticamente nada.
¿Para qué sirve Spring Boot?
Spring Boot sirve principalmente para:
- Crear APIs REST: el caso de uso más común. Expones endpoints que tu frontend o aplicación móvil consume.
- Aplicaciones web: puedes servir páginas HTML directamente desde Spring Boot con Thymeleaf.
- Microservicios: Spring Boot es la opción más popular para arquitecturas de microservicios en Java.
- Aplicaciones empresariales: bancos, aseguradoras y grandes empresas lo usan masivamente por su robustez y escalabilidad.
Spring vs Spring Boot: ¿cuál es la diferencia?
Spring es el framework original, lanzado en 2003. Es muy potente pero requería una cantidad enorme de configuración XML para funcionar. Spring Boot llegó en 2014 para solucionar exactamente ese problema.
Las diferencias principales:
- Spring: configuración manual, más flexible, más verboso
- Spring Boot: autoconfiguración, servidor embebido, listo para producción en minutos
Hoy en día prácticamente nadie usa Spring sin Spring Boot para proyectos nuevos.
Conceptos clave de Spring Boot
Anotaciones
Spring Boot usa anotaciones para configurar el comportamiento de las clases. Las más importantes son:
@SpringBootApplication— marca la clase principal de la aplicación@RestController— indica que una clase es un controlador REST@GetMapping,@PostMapping,@PutMapping,@DeleteMapping— mapean métodos HTTP a métodos Java@Service— marca una clase como servicio de negocio@Repository— marca una clase como repositorio de datos@Entity— marca una clase como entidad de base de datos (JPA)
Arquitectura en capas
Spring Boot promueve una arquitectura en tres capas:
- Controller: recibe las peticiones HTTP y devuelve respuestas
- Service: contiene la lógica de negocio
- Repository: gestiona el acceso a la base de datos
Spring Data JPA
JPA (Java Persistence API) es la forma estándar de trabajar con bases de datos en Java. Spring Data JPA simplifica enormemente las operaciones de base de datos — en muchos casos no necesitas escribir ni una sola query SQL.
¿Cómo crear tu primer proyecto con Spring Boot?
La forma más sencilla de empezar es usando Spring Initializr, la herramienta oficial para generar proyectos:
- Ve a start.spring.io
- Selecciona:
- Project: Maven
- Language: Java
- Spring Boot: la versión más reciente estable
- Java: 21
- Añade las dependencias: Spring Web, Spring Data JPA y MySQL Driver
- Clic en Generate — se descarga un ZIP con tu proyecto
- Descomprime e importa en IntelliJ IDEA o VS Code
Tu primer endpoint REST con Spring Boot
Una vez tienes el proyecto creado, crear un endpoint es muy sencillo. Crea una clase llamada HolaController.java:
@RestController
public class HolaController {
@GetMapping("/hola")
public String hola() {
return "¡Hola desde Spring Boot!";
}
@GetMapping("/usuarios/{id}")
public String getUsuario(@PathVariable Long id) {
return "Usuario con id: " + id;
}
}
Arranca la aplicación con el botón de play de tu IDE o con:
./mvnw spring-boot:run
Abre el navegador en http://localhost:8080/hola y verás el mensaje.
Ejemplo completo: API REST de usuarios
Así sería la estructura de una API REST básica de usuarios con Spring Boot:
// Entidad
@Entity
public class Usuario {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;
private String nombre;
private String email;
// getters y setters
}
// Repositorio
@Repository
public interface UsuarioRepository extends JpaRepository<Usuario, Long> {
}
// Servicio
@Service
public class UsuarioService {
@Autowired
private UsuarioRepository repo;
public List<Usuario> getAll() { return repo.findAll(); }
public Usuario getById(Long id) { return repo.findById(id).orElseThrow(); }
public Usuario save(Usuario u) { return repo.save(u); }
public void delete(Long id) { repo.deleteById(id); }
}
// Controlador
@RestController
@RequestMapping("/usuarios")
public class UsuarioController {
@Autowired
private UsuarioService service;
@GetMapping
public List<Usuario> getAll() { return service.getAll(); }
@GetMapping("/{id}")
public Usuario getById(@PathVariable Long id) { return service.getById(id); }
@PostMapping
public Usuario create(@RequestBody Usuario u) { return service.save(u); }
@DeleteMapping("/{id}")
public void delete(@PathVariable Long id) { service.delete(id); }
}
¿Por qué aprender Spring Boot en 2026?
- Demanda laboral altísima: Java y Spring Boot son los más demandados en el backend empresarial en España y Europa.
- Salarios altos: los desarrolladores Java con Spring Boot están entre los mejor pagados del sector.
- Ecosistema maduro: Spring lleva más de 20 años y tiene solución para prácticamente cualquier problema.
- Perfecto para el DAW: si estás cursando el ciclo de DAW o similar, Spring Boot complementa perfectamente tu formación en Angular.
Próximos pasos
Ahora que ya sabes qué es Spring Boot, el siguiente paso es crear tu primer proyecto y hacer tus primeras peticiones. En los próximos artículos veremos cómo conectar Spring Boot a una base de datos MySQL, crear una API REST completa y desplegarla gratis en la nube.