2015-05-13 4 views
1

Прежде чем начать, я уже прочитал this и this и все еще не мог понять проблему.Настроить локальную переменную в Spring PropertyPlaceholderConfigurer

У меня есть приложение Spring (вы скоро поймете, что мои знания Spring не очень обширны) и четыре разных среза (тест, производство ...). Раньше мой файл свойств, используемый в PropertyPlaceholderConfigurer, был идентичен для всех из них. Но теперь я хочу изменить его, чтобы каждая среда имела несколько разные свойства. Чтобы сделать это, я добавил переменную environment в value, поэтому он захватывает нужный файл свойств в servlet.xml.

<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> 
    <property name="locations"> 
    <list> 
     <value>classpath:circuitbreaker.properties</value> 
     <value>classpath:${environment}.trackinganonymisation.properties</value> 
     <value>classpath:runtime.properties</value> 
    </list> 
    </property> 
</bean> 

Мой вопрос: где я могу установить переменную environment таким образом я получаю его заполняться значением окружающей среды?

+2

Считаете ли вы использование [профилей] (http://www.baeldung.com/spring-profiles)? –

+0

В качестве свойства системы или свойства среды другие значения не будут разрешены на данном этапе. –

+0

Профили @Xokker звучат как хорошая альтернатива. Это может быть решение, но я не уверен, что это то, что я искал. Возможно, стоит попробовать в отсутствии лучшего решения. – Tavo

ответ

0

Оказывается, решение было уже на месте, и я не знал. ${environment} был установлен как системное свойство в производственной машине, к которой у меня не было доступа. Тем не менее, решение было просто добавить это свойство в мою локальную среду разработки.

Смежные вопросы