我有下面的弹簧配置。我使用的是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://en.wikipedia.org/wiki/File_url
另外,一个更好的/标准的方法是在系统中创建一个环境变量,它的值将包含属性文件的路径。
那么在配置文件中,你可以这样写:
file:${your.prop.folder}/myproperties.properties.
我认为属性文件应该在classpath上,这是正确的位置…因为这样它是独立于路径的,所以如果操作系统是windows或linux,它不会有任何问题。