También encuentro otra solución que me funciona. En nuestro proyecto de primavera heredado usamos este método para brindar a nuestros usuarios la posibilidad de usar estas propias configuraciones:
<bean id="appUserProperties" class="org.springframework.beans.factory.config.PropertiesFactoryBean">
<property name="ignoreResourceNotFound" value="false"/>
<property name="locations">
<list>
<value>file:./conf/user.properties</value>
</list>
</property>
</bean>
Y en nuestro código para acceder a estas propiedades necesitamos escribir algo como eso:
@Value("#{appUserProperties.userProperty}")
private String userProperty
Y si surge una situación en la que necesita agregar una nueva propiedad, pero en este momento no desea agregarla en la configuración del usuario de producción, se convierte muy rápidamente en un infierno cuando necesita parchear todos sus contextos de prueba o su aplicación fallará. puesta en marcha.
Para manejar este problema, puede usar la siguiente sintaxis para agregar un valor predeterminado:
@Value("#{appUserProperties.get('userProperty')?:'default value'}")
private String userProperty
Fue un verdadero descubrimiento para mí.
18GerPD8fY4iTbNpC9hHNXNHyrDMampPLA
es? Estoy seguro de que todos los demás lo saben y soy estúpido, pero por si acaso ...