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