Curso de Spring Boot

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.


2.1 Instalar Java (JDK)

Spring Boot necesita Java para funcionar.

Actualmente Spring Boot 3 usa:

  • Java 17 o superior

Recomendado:

Java 21 (LTS)


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.


Instalar Java

Puedes descargar Java desde:

Recomendado:

Temurin (Adoptium)


2.2 Instalar Maven

Maven es una herramienta que sirve para:

  • gestionar dependencias
  • compilar el proyecto
  • ejecutar la aplicación
  • crear el archivo final (.jar)

Comprobar si Maven está instalado

En la terminal:

1mvn -v

Ejemplo:

Apache Maven 3.9

Instalar Maven

Descarga:

https://maven.apache.org/download.cgi

Después añade Maven al PATH del sistema.


2.3 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:

https://start.spring.io


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.


2.4 Crear nuestro primer proyecto

Abrimos:

https://start.spring.io

Configuración recomendada:

opciónvalor
ProjectMaven
LanguageJava
Spring Bootúltima versión
Groupcom.example
Artifactdemo
PackagingJar
Java21

Dependencias

Para empezar añadimos:

Spring Web

Esto permite crear APIs REST.


Generar proyecto

Pulsa:

Generate

Se descargará un archivo:

demo.zip

Descomprime el proyecto.


2.5 Abrir el proyecto en el IDE

Puedes usar:

  • IntelliJ IDEA (recomendado)
  • VS Code
  • Eclipse

Abrir en IntelliJ

  1. File
  2. Open
  3. Seleccionar carpeta del proyecto

IntelliJ detectará automáticamente que es un proyecto Maven.


2.6 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

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

2.7 Ejecutar la aplicación

Hay varias formas.


Desde el IDE

Simplemente ejecuta:

DemoApplication.java

Desde terminal

Dentro del proyecto:

1mvn spring-boot:run

Resultado

Verás algo así:

Tomcat started on port 8080
Started DemoApplication

Esto significa que el servidor está funcionando.


2.8 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.


2.9 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}

Probar endpoint

Abrimos:

http://localhost:8080/hello

Resultado:

Hola Spring Boot

Hemos creado nuestra primera API REST.


2.10 Qué ha pasado internamente

Spring Boot ha hecho muchas cosas automáticamente:

  1. arrancó el servidor Tomcat
  2. creó el contexto Spring
  3. detectó @RestController
  4. registró la ruta /hello
  5. envió la respuesta

Todo sin configuración manual.

  • Loading...