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 o prod, 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.