Descripción general

Spring Boot es un framework de Java que facilita la creación de aplicaciones autónomas y de calidad para producción. Ofrece autoconfiguración, servidores embebidos y un enfoque opinado para construir APIs REST y aplicaciones web.

Antes de empezar
Asegúrate de tener tu panel abierto - necesitarás las credenciales de Git que se muestran allí. Esta plantilla incluye Spring Web, Spring Data JPA, el driver de MySQL y plantillas Thymeleaf.

Inicio rápido

1

Crear repositorio desde plantilla

En tu panel, ve a la pestaña Tools & Deployment. Haz clic en el botón "New Repository", selecciona la plantilla de Spring Boot del menú desplegable, introduce un nombre de repositorio y un subdominio, y luego haz clic en "Create Repository".

2

Clona tu repositorio

git clone https://<git-server>/<username>/<repo-name>.git
cd <repo-name>
3

Configura la base de datos

Actualiza src/main/resources/application.properties con las credenciales de tu panel:

spring.datasource.url=jdbc:mysql://db.<session-domain>:3306/<username>
spring.datasource.username=<username>
spring.datasource.password=<password>
4

Compila y ejecuta

./mvnw spring-boot:run

El servidor se ejecuta en http://localhost:8080 por defecto.

5

Sube tus cambios

git add .
git commit -m "Initial setup"
git push origin main
Cada push a Git despliega tu aplicación automáticamente. Consulta tu URL de trabajo del módulo en el panel para ver tu sitio en vivo.

Desarrollo local con Docker

Si no tienes Java instalado localmente, puedes usar Docker para compilar y ejecutar tu aplicación Spring Boot.

¿Qué es Docker?
Docker crea "contenedores" aislados con todo el software que necesitas (Java, Maven) sin instalarlo en tu ordenador.

Ejecutar comandos con Docker

# Build the project
docker run --rm -v $(pwd):/app -w /app maven:3-eclipse-temurin-21 ./mvnw clean package -DskipTests

# Run the application
docker run --rm -v $(pwd):/app -w /app -p 8080:8080 eclipse-temurin:21 java -jar target/*.jar

Configuración de la base de datos

La plataforma NStrim te proporciona una base de datos MySQL/MariaDB. Configura tu archivo application.properties con las credenciales correctas.

Configuración completa

spring.datasource.url=jdbc:mysql://db.<session-domain>:3306/<username>
spring.datasource.username=<username>
spring.datasource.password=<password>
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver

spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
Importante
El nombre y el usuario de tu base de datos suelen ser idénticos a tu nombre de usuario del panel (por ejemplo, student01). Consulta la sección de credenciales de tu panel para los valores exactos.

Estructura del proyecto

├── src/
│   └── main/
│       ├── java/com/example/
│       │   ├── Application.java          # Punto de entrada de Spring Boot
│       │   ├── controllers/              # Controladores REST
│       │   ├── models/                   # Entidades JPA
│       │   ├── repositories/             # Repositorios Spring Data
│       │   └── services/                 # Lógica de negocio
│       └── resources/
│           ├── application.properties    # Configuración
│           ├── templates/                # Plantillas Thymeleaf
│           └── static/                   # CSS, JS, imágenes
├── pom.xml                               # Dependencias Maven
└── Dockerfile                            # Configuración Docker
        

Tareas comunes

Crear un controlador REST

@RestController
@RequestMapping("/api/users")
public class UserController {

    @GetMapping
    public List<User> getAll() {
        return userRepository.findAll();
    }

    @PostMapping
    public User create(@RequestBody User user) {
        return userRepository.save(user);
    }
}

Crear una entidad JPA

@Entity
@Table(name = "users")
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;

    private String name;
    private String email;

    // getters and setters
}

Crear un repositorio

public interface UserRepository extends JpaRepository<User, Long> {
    Optional<User> findByEmail(String email);
}

Comandos útiles

./mvnw spring-boot:run Iniciar el servidor de desarrollo
./mvnw clean package Compilar el proyecto
./mvnw test Ejecutar tests
./mvnw dependency:tree Mostrar el árbol de dependencias

Resolución de problemas

Communications link failure / Connection refused

Causa: El host de la base de datos es incorrecto o no es accesible.

Solución: Comprueba que spring.datasource.url coincide con el host de la base de datos de tu panel.

Access denied for user

Causa: Nombre de usuario o contraseña incorrectos.

Solución: Comprueba dos veces que spring.datasource.username y spring.datasource.password coinciden exactamente con las credenciales de tu panel.

El puerto 8080 ya está en uso

Solución: Añade server.port=8081 a application.properties o detén el otro proceso.

Whitelabel Error Page (404)

Causa: Ningún controlador está mapeado a la URL solicitada.

Solución: Asegúrate de que tu controlador tiene la anotación @RequestMapping correcta y de que la aplicación está escaneando los paquetes adecuados.

Flujo de despliegue

Cambio de código git push mvn package ¡En vivo!
Para más información, visita la documentación oficial de Spring Boot.