Чтение файла свойств вне войны, используя Spring - PullRequest
4 голосов
/ 27 октября 2011

У меня есть файл свойств, помещенный в папку etc. «myapplication.properties» и несколько других файлов свойств в каждом подмодуле. Я пытаюсь сделать следующее

  <bean class="org.springframework.web.context.support.ServletContextPropertyPlaceholderConfigurer">
<property name="searchContextAttributes" value="true"/>
<property name="contextOverride" value="true"/>
<property name="ignoreResourceNotFound" value="true"/>
<property name="locations">
    <list>
       <value>classpath:application.properties</value> 
        <value>${config}</value>
    </list>
</property>

 <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="ignoreUnresolvablePlaceholders" value="true"/>

Я пытаюсь сделать mvn -Dconfig = ~ / my.properties jetty: запустить

Свойства читаются из application.properties, но не для конфигурации.

При запуске приложения я получаю неправильный $ {jdbc.url} .. Этот URL-адрес присутствует в my.properties .. Как этого достичь?

Спасибо

Ответы [ 2 ]

3 голосов
/ 28 октября 2011

Это то, что у меня было, чтобы запустить его

<bean id="placeholderConfigConfig" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<property name="systemPropertiesModeName">
    <value>SYSTEM_PROPERTIES_MODE_OVERRIDE</value>
</property>
<property name="ignoreUnresolvablePlaceholders">
    <value>true</value>
</property>

<bean
    class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="location" value="file:${config}" />
</bean>

И добавить -Dconfig = / var // my.properties в MAVEN_OPTS .. и сделал mvn jetty: run

Еще одно решение, которое я нашел, вместо того, чтобы делать подробные настройки, просто сделайте

 <context:property-placeholder location="file:${config}"/> 
1 голос
/ 27 октября 2011

Я думаю, что эта функция станет доступной весной 3.1 через новую абстракцию среды.Подробности смотрите в следующем весеннем блоге:

http://blog.springsource.com/2011/02/15/spring-3-1-m1-unified-property-management/.

Если Spring 3.1 не вариант, вы можете жестко закодировать имя файла и путь в файле конфигурации Spring XML для некоторых известныхместоположение, а затем разработчики могут ссылаться на него.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...