有时我也遇到类似的问题。我的要求是属性文件未捆绑在应用程序内部(因此不在类路径中)。该文件可以位于文件系统中的任何位置。这是我解决的方法,
- 定义一个环境变量,其值指向application.properties的位置。
- 假设我们有一个环境变量APP_PROP_HOME,其值为/ user / home / dir /
- 现在,在定义ServletContextPropertyPlaceholderConfigurer时,如下定义位置
我重用你的榜样
<bean > <property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE" /> <property name="searchContextAttributes" value="true" /> <property name="contextOverride" value="true" /> <property name="ignoreResourceNotFound" value="true" /> <property name="locations"> <list> <value>file://${APP_PROP_HOME}/application.properties</value> </list> </property> </bean>Spring将$ {APP_PROP_HOME}解析为存储在相应env属性中的值,并且在运行时配置了您的应用程序。



