Consejo Java Variables de entorno 010
¿Alguna vez has definido properties en tus proyectos Spring como en este ejemplo
application.my-variable=${MY_VARIABLE:haha} spring.application.name=env-variables-ex
En el ejemplo anterior hay una propiedad personalizada y otra por defecto de Spring. La personalizada usa un valor por defecto si no se informa la variable de entorno y la de Spring tiene un valor fijo.
Lo interesante es que no necesitas usar este patrón con valor por defecto para poder sobreescribir properties. Spring permite la sobreescritura con variables de entorno siguiendo una convención muy simple: escribe el nombre de la property en mayúsculas o en minúsculas y sustituye puntos y guiones por guiones bajos. Por ejemplo, la property server.port se puede sobreescribir con SERVER_PORT o server_port y application.my-variable con APPLICATION_MY_VARIABLE.
Ejemplo de variables de entorno válidas
APPLICATION_MY_VARIABLE=hiihi; server_port=8081
Esto también funciona aunque la property no esté definida explícitamente en tus archivos .properties o .yml. En IntelliJ puedes añadir estas variables desde la configuración de ejecución de tu aplicación. En contenedores y pipelines de CI CD es igual de práctico porque solo necesitas inyectar las variables de entorno correctas en cada entorno.
Buenas prácticas recomendadas
Centraliza valores por defecto en application.properties y usa variables de entorno para diferenciar entornos. Apóyate en perfiles de Spring para agrupar configuraciones por entorno. Evita ternarios salvo que quieras documentar explícitamente un valor por defecto visible en el código. Documenta las variables esperadas y su formato para el equipo de DevOps.
En Q2BSTUDIO, empresa de desarrollo de software, creamos software a medida y aplicaciones a medida con arquitecturas robustas, integración continua y despliegues seguros. Si buscas un partner que domine Java, Spring Boot, automatización y despliegues en la nube, descubre cómo impulsamos tus proyectos con nuestros servicios de software a medida y aplicaciones a medida y nuestras capacidades de servicios cloud AWS y Azure.
Nuestro equipo también es especialista en inteligencia artificial, ia para empresas, agentes IA, ciberseguridad, pentesting, servicios inteligencia de negocio y power bi, además de automatización de procesos y observabilidad. Con Q2BSTUDIO optimizas tiempos, costes y fiabilidad, llevando tu plataforma Java al siguiente nivel.
Palabras clave para ayudarte a encontrar este contenido y mejorar tu estrategia tecnológica aplicaciones a medida, software a medida, inteligencia artificial, ia para empresas, agentes IA, ciberseguridad, servicios cloud aws y azure, servicios inteligencia de negocio y power bi.