Загрузка файла внешних свойств весной?

1

У меня ниже весенней конфигурации. Я использую Spring 3 и ОС Windows.

<bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
  <property name="locations">
    <list>
      <value>file:/extprops/conf/usercred.properties</value>
    </list>
  </property>
  <property name="ignoreUnresolvablePlaceholders" value="true"/>
</bean>

В приведенной выше конфигурации я пытаюсь загрузить файл внешних файлов свойств file: /extprops/conf/usercred.properties и он работает. Здесь я не указал местоположение диска, в котором находится файл свойств. Нужно ли указывать информацию о диске в пути, например, на диске C или D? Нужно ли хранить файл приложений и файлов свойств на одном диске?

  • 0
    Если он работает без буквы диска, то вам не нужно.
  • 0
    Поскольку он работает, очевидно, вам не нужно указывать имя диска. :)
Показать ещё 1 комментарий
Теги:
spring

3 ответа

3
Лучший ответ

Если вы не укажете диск, он использует диск из текущего рабочего каталога, который используется во время запуска процесса. Таким образом, он работает, но ненадежен - если вы запускаете процесс, например, по ссылке с другого диска, тогда он может не работать. Итак, укажите диск, например:

file:///C:/extprops/conf/usercred.properties

Дополнительная информация: http://ru.wikipedia.org/wiki/File_url

0

Кроме того, лучшим/стандартным подходом будет создание переменной среды в системе, значение которой будет содержать путь к файлу собственности.

Затем в файле конфигурации вы можете написать как:

file:${your.prop.folder}/myproperties.properties.

Это экономит усилия при изменении местоположения файла свойств.

  • 1
    Плохая идея составлять URL таким способом. Просто используйте переменную окружения как your.prop.url чтобы можно было передавать любой URL, а не только его фрагмент.
  • 0
    не могли бы вы привести пример?
0

Я думаю, файл свойств должен быть там на пути к классам, и это правильное место для него... beacause, что он не зависит от пути, поэтому, если ОС - это Windows или Linux, это не вызовет никаких проблем.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню