从WEB-INF文件夹中读取属性文件

时间:2014-10-13 08:29:14

标签: java eclipse spring properties-file web-inf

我想从WEB-INF文件夹中读取属性文件,而不是从类路径中读取属性文件,因为如果我进行任何修改,我不想再次编译我的应用程序。我的文件将在目录中生成,但是当我尝试访问它没有显示任何内容时。请任何人都可以帮助我。我正在使用Spring框架。因此,如果Spring中有任何方法允许我们不需要一次又一次地编译我们的应用程序,那么应用程序就可以自己修改。

2 个答案:

答案 0 :(得分:0)

将此添加到您的应用程序上下文配置文件并尝试。

<bean id="applicationProperties"
        class="org.springframework.beans.factory.config.PropertiesFactoryBean">
        <property name="locations">
            <list>
                <value>yourPropertiesFile.properties</value>
            </list>
        </property>
</bean>

要从属性文件访问属性,请使用您班级中的bean ID,该ID必须使用@Service@Component

进行注释
    @Resource(name="applicationProperties")
    private Properties anyVariableName; 
    ...
    ...
    String propValue = anyVariableName.getProperty("propertyName");

答案 1 :(得分:0)

您可以将属性文件放在resources文件夹中。它不需要重新编译应用程序。

在Spring中,您可以使用以下行从属性文件中读取属性值:

<bean
        class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
        <property name="locations">
            <list>
                <value>classpath:dash_conf.properties</value>
            </list>
        </property>
    </bean>

另外,如果你想从java类中读取属性文件,你可以使用:

InputStream in = Thread.currentThread().getContextClassLoader()
                    .getResourceAsStream(fileName);
            Properties prop = new Properties();
            prop.load(in);

希望这能解决你的问题。