Мы используем PropertyPlaceholderConfigurer для использования свойств Java в нашей конфигурации Spring (детали здесь)
например:
${my.server.port}
Мы хотели бы добавить дополнительное свойство, но иметь распределенную систему, где существующие экземпляры могли все использовать значение по умолчанию. Существует ли способ постараться не обновлять все наши файлы свойств путем указания на значение по умолчанию в конфигурации Spring, для того, когда нет переопределяющего определенного значения свойства?
Вы ищете PropertyOverrideConfigurer, описанный здесь
PropertyOverrideConfigurer, { {1}} другой постпроцессор фабрики компонентов, похож на PropertyPlaceholderConfigurer, но в отличие от последнего , исходные определения могут иметь значение по умолчанию значения или вообще никаких значений для свойств компонента. Если в замещающем файле свойств нет записи для определенного свойства компонента , контекст по умолчанию { Используется определение {1}}.
Spring 3 поддерживает ${my.server.port:defaultValue}
синтаксис.
http://thiamteck.blogspot.com/2008/04/spring-propertyplaceholderconfigurer.html указывает, что «локальный properties", определенные в самом компоненте, будут считаться значениями по умолчанию, которые будут переопределены значениями, считанными из файлов:
<bean id="propertyConfigurer"class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="location"><value>my_config.properties</value></property>
<property name="properties">
<props>
<prop key="entry.1">123</prop>
</props>
</property>
</bean>