Skip to content

2. Configuración del Entorno de Desarrollo

Spring BootJDK MínimoJDK Recomendado
3.xJava 17Java 21
2.xJava 8Java 11/17

Opciones recomendadas:

Verificar instalación de Java
# 1. Descargar el instalador .msi de Adoptium
# 2. Ejecutar el instalador
# 3. Verificar instalación:
java -version
# Salida esperada:
openjdk version "21.0.2" 2024-01-16
OpenJDK Runtime Environment Temurin-21.0.2+13 (build 21.0.2+13)
OpenJDK 64-Bit Server VM Temurin-21.0.2+13 (build 21.0.2+13, mixed mode)
Instalación con Homebrew
# Usando Homebrew
brew install openjdk@21
# Agregar al PATH
echo 'export PATH="/opt/homebrew/opt/openjdk@21/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc
# Verificar
java -version
Instalación en Linux
# Ubuntu/Debian
sudo apt update
sudo apt install openjdk-21-jdk
# Fedora/RHEL
sudo dnf install java-21-openjdk-devel
# Verificar
java -version

⚙️ 2.2 Configuración de Variables de Entorno

Section titled “⚙️ 2.2 Configuración de Variables de Entorno”
Variables de entorno en Windows
# 1. Abrir "Variables de entorno del sistema"
# 2. Crear variable JAVA_HOME:
JAVA_HOME = C:\Program Files\Eclipse Adoptium\jdk-21.0.2.13-hotspot
# 3. Agregar al PATH:
%JAVA_HOME%\bin
# 4. Verificar en CMD:
echo %JAVA_HOME%
java -version
Variables de entorno en Unix
# Agregar a ~/.bashrc o ~/.zshrc
export JAVA_HOME=/usr/lib/jvm/java-21-openjdk
export PATH=$JAVA_HOME/bin:$PATH
# Aplicar cambios
source ~/.bashrc
# Verificar
echo $JAVA_HOME
java -version

  1. Descargar IntelliJ IDEA
    • Community: Gratuito (suficiente para Spring)
    • Ultimate: De pago (soporte nativo para Spring)
Configuración de IntelliJ
# Configurar JDK en IntelliJ:
# 1. File → Project Structure → SDKs
# 2. Click en "+" → Add JDK
# 3. Seleccionar la carpeta de instalación de Java 21
# Plugins recomendados (Community):
# - Spring Boot Assistant
# - Lombok
# - Maven Helper
AtajoAcción
Ctrl + Shift + F10Ejecutar aplicación
Ctrl + F9Compilar proyecto
Alt + EnterSugerencias rápidas
Ctrl + Shift + ABuscar acciones
Ctrl + NBuscar clase

🚀 2.4 Creación de Proyectos con Spring Initializr

Section titled “🚀 2.4 Creación de Proyectos con Spring Initializr”
  1. Ir a start.spring.io
  2. Configurar el proyecto:
Configuración en Spring Initializr
Project: Maven
Language: Java
Spring Boot: 3.2.x (última estable)
Project Metadata:
Group: com.ejemplo
Artifact: mi-proyecto
Name: mi-proyecto
Package name: com.ejemplo.miproyecto
Packaging: Jar
Java: 21
Dependencies:
- Spring Web
- Spring Data JPA
- H2 Database (para desarrollo)
- Lombok
- Spring Boot DevTools
  1. Click en Generate → Descargar ZIP
  2. Extraer y abrir en IntelliJ
Spring Initializr en IntelliJ
# File → New → Project
# Seleccionar "Spring Initializr"
# Configurar igual que en la web
# IntelliJ descarga y configura automáticamente

📁 2.5 Estructura de Carpetas en Spring Boot

Section titled “📁 2.5 Estructura de Carpetas en Spring Boot”
Estructura típica de Spring Boot
mi-proyecto/
├── src/
│ ├── main/
│ │ ├── java/
│ │ │ └── com/ejemplo/miproyecto/
│ │ │ ├── MiProyectoApplication.java # Clase principal
│ │ │ ├── controller/ # Controladores REST
│ │ │ ├── service/ # Lógica de negocio
│ │ │ ├── repository/ # Acceso a datos
│ │ │ ├── model/ # Entidades/DTOs
│ │ │ └── config/ # Configuraciones
│ │ └── resources/
│ │ ├── application.properties # Configuración
│ │ ├── application.yml # Alternativa YAML
│ │ ├── static/ # Archivos estáticos
│ │ └── templates/ # Plantillas (Thymeleaf)
│ └── test/
│ └── java/ # Tests
├── pom.xml # Dependencias Maven
└── README.md

📦 2.6 Gestión de Dependencias con Maven

Section titled “📦 2.6 Gestión de Dependencias con Maven”
pom.xml completo
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<!-- Heredar de Spring Boot Parent -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.2.3</version>
</parent>
<groupId>com.ejemplo</groupId>
<artifactId>mi-proyecto</artifactId>
<version>1.0.0</version>
<name>mi-proyecto</name>
<properties>
<java.version>21</java.version>
</properties>
<dependencies>
<!-- Spring Web -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- Spring Data JPA -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<!-- Base de datos H2 (desarrollo) -->
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope>
</dependency>
<!-- Lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<!-- Testing -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
Comandos Maven
# Compilar proyecto
mvn compile
# Ejecutar tests
mvn test
# Empaquetar (crear JAR)
mvn package
# Ejecutar aplicación
mvn spring-boot:run
# Limpiar y empaquetar
mvn clean package
# Saltar tests al empaquetar
mvn package -DskipTests

🐘 2.7 Gestión de Dependencias con Gradle

Section titled “🐘 2.7 Gestión de Dependencias con Gradle”
build.gradle
plugins {
id 'java'
id 'org.springframework.boot' version '3.2.3'
id 'io.spring.dependency-management' version '1.1.4'
}
group = 'com.ejemplo'
version = '1.0.0'
java {
sourceCompatibility = '21'
}
repositories {
mavenCentral()
}
dependencies {
// Spring Web
implementation 'org.springframework.boot:spring-boot-starter-web'
// Spring Data JPA
implementation 'org.springframework.boot:spring-boot-starter-data-jpa'
// H2 Database
runtimeOnly 'com.h2database:h2'
// Lombok
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
// Testing
testImplementation 'org.springframework.boot:spring-boot-starter-test'
}
tasks.named('test') {
useJUnitPlatform()
}
Comandos Gradle
# Compilar
./gradlew build
# Ejecutar
./gradlew bootRun
# Tests
./gradlew test
# Limpiar
./gradlew clean
# Crear JAR
./gradlew bootJar

Ejecutar desde IDE
# 1. Abrir la clase principal (MiProyectoApplication.java)
# 2. Click derecho → Run 'MiProyectoApplication'
# 3. O usar el botón verde ▶️ en el margen izquierdo
Ejecutar desde terminal
# Con Maven
mvn spring-boot:run
# Con Gradle
./gradlew bootRun
# Ejecutar JAR directamente
java -jar target/mi-proyecto-1.0.0.jar
Salida de consola
# La aplicación inicia en http://localhost:8080
# Verás en consola:
. ____ _ __ _ _
/\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \
\\/ ___)| |_)| | | | | || (_| | ) ) ) )
' |____| .__|_| |_|_| |_\__, | / / / /
=========|_|==============|___/=/_/_/_/
:: Spring Boot :: (v3.2.3)
Started MiProyectoApplication in 2.5 seconds
🐝