Tutorial: Crear el proyecto backend con Spring Boot
1. Objetivos de aprendizaje
Sección titulada «1. Objetivos de aprendizaje»Al terminar este tutorial vas a ser capaz de:
- Crear un proyecto Spring Boot standalone con el generador de Spring Initializr integrado en VS Code.
- Reconocer la estructura generada por Spring Boot y verificar que el paquete base coincide con el que acordó tu grupo.
- Arrancar el servidor embebido de Spring Boot y confirmar que el proyecto compila y corre.
Prerrequisitos: Java 21 y VS Code con el Spring Boot Extension Pack instalados (ver el taller de ambiente de desarrollo).
2. Ponerse de acuerdo en el nombre del proyecto
Sección titulada «2. Ponerse de acuerdo en el nombre del proyecto»Antes de generar el proyecto, defina con su grupo un solo nombre, todo en minúsculas y sin espacios. Todos los estudiantes del grupo van a usar ese mismo nombre como parte del paquete Java de su módulo, así el proyecto completo del grupo queda bajo un único paquete base:
co.edu.uniandes.<nombreproyecto>En los ejemplos de este tutorial usamos musical como nombre de ejemplo,
sustitúyelo por el nombre que tu grupo haya acordado.
3. Generar el proyecto con el Spring Initializr de VS Code
Sección titulada «3. Generar el proyecto con el Spring Initializr de VS Code»No necesitas instalar ningún CLI aparte: el Spring Boot Extension Pack que instalaste en el taller de ambiente de desarrollo ya incluye un generador de proyectos integrado a VS Code.
Abre VS Code, abre la paleta de comandos (Ctrl+Shift+P en Windows/Linux,
Cmd+Shift+P en Mac), y busca:
Spring Initializr: Create a Maven ProjectEl asistente te va a preguntar, en orden:
- Spring Boot version: elige la última versión estable que te ofrezca (hoy, una 4.x).
- Language:
Java. - Group Id:
co.edu.uniandes.musical. Reemplazamusicalpor el nombre que acordaste con tu grupo en el paso anterior. - Artifact Id:
artistas. Acá das el nombre de tu módulo funcional. No debe ser muy largo y todo en minúsculas. - Packaging:
Jar. - Java version:
21, la que instalaste en el taller de ambiente. - Dependencies: busca y selecciona
Spring Web(el servidor embebido y todo lo necesario para exponer una API REST) yLombok(que vamos a usar más adelante para no escribir getters y constructores a mano). Confirma conEntercuando termines de elegir. - Por último, elige la carpeta donde guardar el proyecto.
Cuando termine, VS Code te pregunta si quieres abrir el proyecto generado. Elige Open.
Revisa:
Sección titulada «Revisa:»- La estructura generada:
musical/├── src/│ └── main/│ ├── java/│ │ └── co/edu/uniandes/musical/artistas/│ │ └── ArtistasApplication.java│ └── resources/│ └── application.properties├── mvnw├── mvnw.cmd└── pom.xml- La versión de java: Abre el archivo pom.xml y revisa que seleccionaste bien la versión de java. Busca
java.versiony verifica que el valor es21. Si no lo es cámbialo. - La estructura del proyecto: En su grupo de slack o de whatsup verifiquen que la estructura del proyecto es la misma. En el ejemplo:
co/edu/uniandes/musical/artistas/, sino lo es, deben asegurarse de cambiarla para que TODOS tengan la misma, de otra forma, la integración de los módulos tendrá problemas más adelante.
Probemos:
Sección titulada «Probemos:»Spring Initializr también genera el Maven Wrapper (mvnw y mvnw.cmd): un
script que descarga la versión correcta de Maven la primera vez que lo usas,
así no dependes de tener Maven instalado globalmente. Es lo que vas a usar en
vez del comando mvn directo.
El único archivo de código que te interesa por ahora es
ArtistasApplication.java, el punto de entrada de la aplicación.
No lo toques todavía.
Para verificar que el proyecto compila y arranca, ejecuta:
./mvnw spring-boot:runDeberías ver en la consola una línea como esta, que indica que el servidor está escuchando en el puerto 8080:
Tomcat started on port 8080Abre en el navegador http://localhost:8080. Como todavía no expusiste
ningún endpoint, no vas a ver tus datos: vas a ver la Whitelabel Error
Page de Spring Boot, con un mensaje como este:
Whitelabel Error Page
This application has no explicit mapping for /error, so you are seeing this as a fallback.
There was an unexpected error (type=Not Found, status=404).Detén el servidor con Ctrl + C. El proyecto está listo.
¿Dónde quedaste?
Sección titulada «¿Dónde quedaste?»Al final de este tutorial tienes un proyecto Spring Boot vacío pero funcional: compila, arranca y escucha en el puerto 8080, con el paquete base que acordaste con tu grupo.
Lo que viene después:
- Tutorial: DTOs, repositorio y controller de tu API REST:
vas a escribir los DTOs de tu módulo, la interfaz del repositorio y el
controlador que expone
GET /artistas, y vas a conectar tu front en Angular con este backend.