我使用XML配置文件在应用程序中配置一些Spring Bean。我希望将其作为文件,这样就不需要重建应用程序而仅更改某些配置参数(并且我对使用.properties
文件不感兴趣,因为其他内部包含一些复杂的bean组成豆子)。假设此文件名为beans.xml
。
其中一个配置参数(在beans.xml
中定义)是代表文件绝对路径的字符串,比方说data.txt
,它通常位于{{1} }是(或在该位置的子目录下)。
是否有一种方法可以从beans.xml
本身指向beans.xml
的路径,以便可以将该字符串定义为beans.xml
?
请注意,path(beans.xml) + "relative/path/to/data.txt"
不一定位于应用程序工作目录下,它可能位于beans.xml
或$HOME/myApp/config
甚至/var/config/myApp
之类的位置(这是由某些内容设置的)例如系统属性或命令行参数。
到目前为止,我发现的唯一方法是将Java系统属性传递给应用程序,并使用SpringEL获得其值,但是我并不特别喜欢它。