Я могу использовать основанное на переменной среды местоположение для Spring FileSystemResource?

я интересуюсь больше знанием, если существует встроенный метод платформы, который проанализирует непосредственно в nullable интервал?

нет.

12
задан Bozho 3 December 2009 в 18:33
поделиться

3 ответа

ОБНОВЛЕНИЕ

Позже мы обновились до Spring 3.0.X и смогли воспользоваться преимуществами языка выражений Spring. Наш подход упростился с трех компонентов до следующего фрагмента:

<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
  <property name="locations">
    <list>
        <value>classpath:defaults.properties</value>
        <value>file:/a/defined/location/project.properties</value>
        <value>file:${AN_ENV_CONFIGURED_DIR}/project.properties</value>
    </list>
  </property>

  <property name="ignoreResourceNotFound" value="true" />
  <property name="searchSystemEnvironment" value="true" />
  <property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" />
</bean>

Это позволило нам иметь либо статически хорошо известное местоположение разработки (первые значения по умолчанию), либо местоположение развертывания, настроенное с помощью переменных env. Конфигуратор обрабатывает их по порядку (т.е. развернутое имеет приоритет над настройками по умолчанию).

OLD

В итоге я выбрал непрограммный подход. Я использовал MethodInvoker для получения значения среды. Затем я смог передать это в FileSystemResource.

<bean id="configPath" class="org.springframework.beans.factory.config.MethodInvokingFactoryBean" >
    <property name="targetClass" value="java.lang.String" />
    <property name="staticMethod" value="java.lang.System.getenv" />
    <property name="arguments">
        <list>
            <value>NAME_OF_VARIABLE</value>
        </list>
    </property>
</bean>
14
ответ дан 2 December 2019 в 18:54
поделиться

You could always extend the FileSystemResource (i.e. PropertiesFileResource) that would initialize itself by taking prepending the property file location system property to the file path.

1
ответ дан 2 December 2019 в 18:54
поделиться

В Spring.Net у нас есть интерфейс IVariableSource и PropertyPlaceholderConfigurer , которые могут получать значения из переменных среды. Может быть, в Spring Framework для Java есть что-то похожее?

Изменить: Я думаю Я нашел соответствующий java-компонент с именем PropertyPlaceholderConfigurer в java docs .

1
ответ дан 2 December 2019 в 18:54
поделиться
Другие вопросы по тегам:

Похожие вопросы: