我是Spring的新手,我正在尝试从属性文件中读取值。
这是我的安全XML: -
<beans:bean class="org.springframework.beans.factory.config.PropertyPlaceholderConfigurer">
<beans:property name="location">
<beans:value>AuthProvider.properties</beans:value>
</beans:property>
</beans:bean>
我试图访问java类中的属性,但是它没有返回任何内容:
Properties props = PropertiesLoaderUtils.loadAllProperties("AuthProvider.properties");
PropertyPlaceholderConfigurer props2 = new PropertyPlaceholderConfigurer();
props2.setProperties(props);
for(String key : props.stringPropertyNames())
{
String value = props.getProperty(key);
System.out.println(key + " => " + value);
}
有人可以告诉我,我在哪里做错了吗?
答案 0 :(得分:1)
首先,你应该显示你得到的错误。
从另一方面了解更多,阅读有关框架的书籍和文档会更好。 关于Spring,你可以在这里找到足够的信息:https://spring.io/guides
目前还不清楚你的一般任务是什么。
要只使用properties
作为bean就足够了:
<util:properties id="myProps" location="AuthProvider.properties"/>
但是你不应该忘记需要为你的文件正确指定location
:它是在类路径,文件系统,一些外部URL等上。以下是更多信息:{{3 }}
在同一参考文献中,您可以了解如何配置<property-placeholder>
以及为何需要它。
<强>更新强>
只需使用Properties
将文件中的属性加载到PropertiesLoaderUtils.loadAllProperties
对象即可。但是这里resourceName
应该是CLASSPATH中文件的正确相对路径 - 它将作为资源加载ClassLoader
。
这里有什么不好,我们不知道你的AuthProvider.properties
在哪里,并且说你提供了错误的path
。