У меня ниже весенней конфигурации. Я использую 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
? Нужно ли хранить файл приложений и файлов свойств на одном диске?
Если вы не укажете диск, он использует диск из текущего рабочего каталога, который используется во время запуска процесса. Таким образом, он работает, но ненадежен - если вы запускаете процесс, например, по ссылке с другого диска, тогда он может не работать. Итак, укажите диск, например:
file:///C:/extprops/conf/usercred.properties
Дополнительная информация: http://ru.wikipedia.org/wiki/File_url
Кроме того, лучшим/стандартным подходом будет создание переменной среды в системе, значение которой будет содержать путь к файлу собственности.
Затем в файле конфигурации вы можете написать как:
file:${your.prop.folder}/myproperties.properties.
Это экономит усилия при изменении местоположения файла свойств.
your.prop.url
чтобы можно было передавать любой URL, а не только его фрагмент.
Я думаю, файл свойств должен быть там на пути к классам, и это правильное место для него... beacause, что он не зависит от пути, поэтому, если ОС - это Windows или Linux, это не вызовет никаких проблем.