如何读取属性文件?

时间:2011-03-24 05:44:03

标签: java spring properties cxf

我正在使用CXF创建一个java Web服务。

我有一个文件路径,例如“C:\ ftproot”,需要是可配置的 所以我想把这条路径放到一个属性文件中,例如application.properties

但是如何在我的java代码中读取属性文件?

任何人都可以帮忙吗?

由于

2 个答案:

答案 0 :(得分:0)

您需要将属性文件放在resourcesWEB-INF/classes

然后

Properties properties = new Properties();
try {
    properties.load(new FileInputStream("classpath:application.properties"));
} catch (IOException e) {
}

另见

答案 1 :(得分:0)

为Spring创建PropertyPlaceholderConfigurer(有关选项,请参阅API)。

示例:

<bean id="propertyConfigurer" class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
    <property name="searchSystemEnvironment" value="true"/>
    <property name="systemPropertiesModeName" value="SYSTEM_PROPERTIES_MODE_OVERRIDE"/>
    <property name="ignoreUnresolvablePlaceholders" value="true"/>
    <property name="locations">
        <list>
            <value>classpath:build.properties</value>
            <value>classpath:other.properties</value>
        </list>
    </property>
</bean>

假设您在属性文件中有一个属性file.path并且您正在使用组件扫描,那么您可以使用:

@Value("file.path") private String filePath;

然后将在属性文件中填充file.path的值(如果bean是由Spring创建的)

或者,如果您使用XML创建bean:

<bean class="yourClassName">
    <property name="filePath" value="${file.path} />
</bean>