Verificando autenticación…

Saltar al contenido principal

Golden Path: Backend Spring Boot

Plantilla base para servicios Spring Boot (Java 21) con arquitectura hexagonal, pensada para microservicios empresariales de alto rendimiento desplegados en Cloud Run.

Repositorio

GitLab: templates/template-spring-bl

Referencia técnica detallada del template: Template Spring BL.

Stack

ComponenteValor
LenguajeJava 21 (JDK 21)
FrameworkSpring Boot
BuildGradle 8.11.1 (wrapper incluido)
ArquitecturaHexagonal (Domain / Infrastructure / Application)
RuntimeCloud Run
ObservabilidadOpenTelemetry (Java Agent, OTLP)

Funcionalidades modulares (tags)

El template activa capacidades mediante tags al crear el proyecto, de modo que solo incluyes lo que necesitas:

TagCapacidad
BaseHello World REST (/api/v1/greetings/hello). Siempre activo
PubsubMensajería asíncrona con Google Cloud Pub/Sub
DatabasePostgreSQL con Spring Data JPA (HikariCP)
LiquibaseMigraciones de base de datos (requiere Database)

Adicionalmente, el template ofrece integración lista para usar con Google Cloud Storage, Redis, Apache Kafka y servicios REST externos (OpenFeign), además de bibliotecas de seguridad e imágenes base autorizadas.

Seguridad

La seguridad se configura en Google Cloud Endpoints (deploy/endpoints/openapi.yaml.erb) con dos esquemas:

  • API Key (header x-api-key) — identificación de la app que llama.
  • Azure ID Token (OAuth2, header Authorization: Bearer) — autenticación con Azure AD.

Requisitos para desarrollo local

  • JDK 21
  • Gradle 8.11.1 (o el wrapper ./gradlew)
  • Acceso al Artifactory de LATAM (dependencias corporativas, vía gradle.properties)
  • Docker (opcional, para PostgreSQL local)
# Crear desde Cursor con el skill de ciclo de vida
/create-app --golden-path=java-spring-boot --product=mi-producto

La aplicación queda disponible en http://localhost:8080/template-spring.