Preparación del entorno
En este capítulo prepararemos todo lo necesario para desarrollar aplicaciones con Spring Boot moderno.
Veremos:
- Java
- Maven
- Spring Initializr
- estructura de un proyecto
- ejecutar nuestra primera aplicación
No te preocupes: todo es bastante sencillo.
1. Instalar Java (JDK) #
Spring Boot necesita Java para funcionar.
Actualmente Spring Boot 3 usa:
- Java 17 o superior
Recomendado:
Java 21 (LTS)
2. Comprobar si Java ya está instalado #
En la terminal escribe:
1java -version
Ejemplo de salida:
openjdk version "21.0.2"
Si aparece algo así, ya tienes Java instalado.
3. Instalar Java #
Puedes descargar Java desde:
Recomendado:
Temurin (Adoptium)
4. Instalar Maven #
Maven es una herramienta que sirve para:
- gestionar dependencias
- compilar el proyecto
- ejecutar la aplicación
- crear el archivo final (.jar)
5. Comprobar si Maven está instalado #
En la terminal:
1mvn -v
Ejemplo:
Apache Maven 3.9
6. Instalar Maven #
Descarga:
https://maven.apache.org/download.cgi
Después añade Maven al PATH del sistema.
7. Qué es Spring Initializr #
Crear proyectos Spring Boot manualmente sería tedioso.
Para eso existe:
Spring Initializr
Una herramienta que genera proyectos automáticamente.
Página oficial:
8. Qué permite hacer #
Spring Initializr permite elegir:
- versión de Java
- versión de Spring Boot
- dependencias
- tipo de proyecto
Después descarga el proyecto listo para usar.
9. Crear nuestro primer proyecto #
Abrimos:
Configuración recomendada:
| opción | valor |
|---|---|
| Project | Maven |
| Language | Java |
| Spring Boot | última versión |
| Group | com.example |
| Artifact | demo |
| Packaging | Jar |
| Java | 21 |
10. Dependencias #
Para empezar añadimos:
Spring Web
Esto permite crear APIs REST.
11. Generar proyecto #
Pulsa:
Generate
Se descargará un archivo:
demo.zip
Descomprime el proyecto.
12. Abrir el proyecto en el IDE #
Puedes usar:
- IntelliJ IDEA (recomendado)
- VS Code
- Eclipse
13. Abrir en IntelliJ #
- File
- Open
- Seleccionar carpeta del proyecto
IntelliJ detectará automáticamente que es un proyecto Maven.
14. Estructura del proyecto #
Un proyecto Spring Boot tiene esta estructura:
demo
├── src
│ ├── main
│ │ ├── java
│ │ │ └── com.example.demo
│ │ │ └── DemoApplication.java
│ │ └── resources
│ │ └── application.properties
│
│ └── test
│
├── pom.xml
15. Archivos importantes #
pom.xml #
Archivo de configuración de Maven.
Aquí se definen:
- dependencias
- versión de Java
- plugins
Ejemplo:
1<dependencies> 2 3 <dependency> 4 <groupId>org.springframework.boot</groupId> 5 <artifactId>spring-boot-starter-web</artifactId> 6 </dependency> 7 8</dependencies>
DemoApplication.java #
Clase principal de la aplicación.
1@SpringBootApplication 2public class DemoApplication { 3 4 public static void main(String[] args) { 5 SpringApplication.run(DemoApplication.class, args); 6 } 7 8}
Esta clase:
- arranca Spring Boot
- inicia el servidor web
- carga toda la configuración
application.properties #
Archivo de configuración.
Ejemplo:
server.port=8080
Permite configurar:
- base de datos
- puerto
- logs
- seguridad
16. Ejecutar la aplicación #
Hay varias formas.
17. Desde el IDE #
Simplemente ejecuta:
DemoApplication.java
18. Desde terminal #
Dentro del proyecto:
1mvn spring-boot:run
19. Resultado #
Verás algo así:
Tomcat started on port 8080
Started DemoApplication
Esto significa que el servidor está funcionando.
20. Probar la aplicación #
Abrimos el navegador:
http://localhost:8080
Todavía no hay rutas definidas, por lo que veremos un error 404.
Esto es normal.
21. Crear nuestro primer endpoint #
Vamos a crear una clase nueva:
HelloController
1package com.example.demo; 2 3import org.springframework.web.bind.annotation.GetMapping; 4import org.springframework.web.bind.annotation.RestController; 5 6@RestController 7public class HelloController { 8 9 @GetMapping("/hello") 10 public String hello() { 11 return "Hola Spring Boot"; 12 } 13 14}
22. Probar endpoint #
Abrimos:
http://localhost:8080/hello
Resultado:
Hola Spring Boot
Hemos creado nuestra primera API REST.
23. Qué ha pasado internamente #
Spring Boot ha hecho muchas cosas automáticamente:
- arrancó el servidor Tomcat
- creó el contexto Spring
- detectó
@RestController - registró la ruta
/hello - envió la respuesta
Todo sin configuración manual.
Resumen del tema
Conceptos clave #
- Herramientas del Entorno: JDK (Java 17 o 21 LTS recomendado), gestor de compilación y dependencias Apache Maven (
pom.xml) y generador oficial Spring Initializr (start.spring.io). - Estructura Estándar del Proyecto:
src/main/java(código fuente),src/main/resources(application.properties/application.yml) ysrc/test/java(pruebas unitarias/integración). - Arranque y Servidor Embebido: ejecución con
mvn spring-boot:runo clase@SpringBootApplication, levantando automáticamente el servidor Tomcat en el puerto 8080. - Primer Controlador REST: uso de
@RestControllery mapeo HTTP@GetMapping("/ruta")para exponer endpoints web.
Qué debes recordar #
Spring Initializr y Maven configuran el esqueleto del proyecto; con @SpringBootApplication y @RestController expones servicios web de inmediato sin necesidad de desplegar un servidor externo.