Я использую файл конфигурации XML для настройки некоторых компонентов Spring в приложении.Я хочу это как файл, чтобы не нужно было перестраивать приложение, просто чтобы изменить некоторые параметры конфигурации (и меня не интересует использование файлов .properties
, так как внутри других bean-компонентов есть несколько сложных композиций bean),Допустим, этот файл называется beans.xml
.
. Один из параметров конфигурации (определенный в beans.xml
) - это строка, представляющая абсолютный путь к файлу, скажем, data.txt
, и он обычно находитсяв том же каталоге, где находится beans.xml
(или в подкаталоге этого места).
Есть ли способ указать на путь beans.xml
из самого beans.xml
, чтобы я могопределите эту строку как path(beans.xml) + "relative/path/to/data.txt"
?
Обратите внимание, что beans.xml
не обязательно находится в рабочем каталоге приложения, он может находиться в таких местах, как $HOME/myApp/config
или /var/config/myApp
, или даже tomcat/config/myApp
(этоустанавливается чем-то вроде системного свойства или параметра командной строки).
Единственный способ, который я нашел до сих пор, - передать системное свойство Java приложению и использовать SpringEL для получения его значения, но я неособенно нравится.