Java 在spring中加载外部属性文件?
我有下面的spring配置。我正在使用Spring3和windows操作系统Java 在spring中加载外部属性文件?,java,spring,Java,Spring,我有下面的spring配置。我正在使用Spring3和windows操作系统 <bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer"> <property name="locations"> <list> <value>file:/extprops/conf/usercred.properties</val
<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>
文件:/extprops/conf/usercred.properties
在上面的配置中,我试图加载外部属性文件
文件:/extprops/conf/usercred.properties
,它正在工作。这里我没有指定属性文件所在的驱动器位置。是否需要在路径中指定驱动器信息,如C
或D
驱动器?我是否需要将App server和属性文件保持在同一驱动器中 如果您不指定驱动器,它将使用当前工作目录中的驱动器,该目录是您在启动进程期间使用的。因此,它可以工作,但不可靠-如果您从不同的驱动器通过链接等方式运行该进程,则可能无法工作。因此,也要指定驱动器,如下所示:
file:///C:/extprops/conf/usercred.properties
更多信息:此外,更好的/标准方法是在系统中创建一个环境变量,其值将包含属性文件的路径 然后在配置文件中,您可以编写为:
file:${your.prop.folder}/myproperties.properties.
当您的属性文件位置发生更改时,这样可以省力。我认为属性文件应该位于类路径上,这是它的正确位置…因为这样它独立于路径,所以如果操作系统是windows或linux,它就不会有任何问题。如果它在没有驱动器号的情况下工作,因为它正在工作,显然您不需要指定驱动器名。:)我是否需要将应用服务器和属性文件保持在同一个驱动器中?以这种方式编写URL不是个好主意。只需将环境变量用作
your.prop.url
,就可以传递任何url,而不仅仅是其片段。您能提供示例吗?