在Spring中访问Property文件

时间:2014-05-27 05:57:32

标签: spring spring-security

我是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);

}

有人可以告诉我,我在哪里做错了吗?

1 个答案:

答案 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