Configuración de application.properties y perfiles en Spring Boot
Clase 4 de 23 • Curso de Java Spring Boot
Resumen
Configurar correctamente el archivo application.properties es esencial para personalizar y controlar el comportamiento de una aplicación Spring Boot. Aquí aprenderás cómo gestionar distintos entornos, definir variables clave y sacar el máximo provecho a los perfiles en tus proyectos.
¿Cómo se utilizan application.properties y perfiles en Spring para configurar la aplicación?
El archivo application.properties centraliza la configuración en una app Spring Boot. Permite establecer desde el API key y el modelo usado con librerías como LangChain4j, hasta aspectos cruciales como el puerto del servidor o el contexto de la URL.
- Puedes definir parámetros como
server.port
para cambiar el puerto (por ejemplo, a 8090). - Para cambiar el contexto raíz, se usa
server.servlet.contextPath
(e.g.,/platzi-play/api
). - Los cambios se reflejan tras reiniciar la aplicación, afectando cómo y dónde responde tu API.
¿Qué ventajas ofrecen los diferentes archivos de propiedades para cada entorno?
Spring permite tener múltiples archivos de configuración según ambiente: desarrollo, pruebas o producción. Esto se gestiona creando archivos como application-dev.properties
o application-prod.properties
dentro del directorio resources.
- Cada archivo puede contener variables específicas solo para ese entorno.
- El archivo principal (
application.properties
) mantiene las configuraciones generales. - Se activa un perfil con la propiedad
spring.profiles.active
, por ejemplo,dev
oprod
, para que Spring use ese archivo. - Así puedes, por ejemplo, habilitar logs detallados solo en desarrollo y desactivarlos en producción.
¿Cómo se acceden y utilizan las variables de configuración en el código Spring?
Las variables en application.properties pueden ser utilizadas directamente en el código de la aplicación a través de la anotación @Value
.
- Por ejemplo, puedes inyectar el nombre de la aplicación usando
@Value("${spring.application.name}")
en el constructor de tu controlador. - Así se evita "quemar" valores en el código y permite una gestión centralizada y flexible.
- Cambios en las variables del properties se reflejan al reiniciar la app, mostrando los resultados, por ejemplo, en las respuestas de la API.
¿Cómo se configuran logs y otros parámetros específicos según el entorno?
- En el archivo
application-dev.properties
puedes agregar parámetros para mostrar logs de request y response, permitiendo ver internamente cómo opera una librería como LangChain4j. - En producción, se recomienda minimizar los logs para evitar exponer información sensible o saturar la consola.
- Cada entorno puede personalizar el nivel de logueo y otros detalles de configuración según sea necesario.
¿Has explorado ya la documentación oficial de Spring sobre propiedades de configuración? Comparte tu experiencia o pregunta sobre situaciones específicas que hayas enfrentado usando perfiles y properties en tus proyectos.