如何只加载一次属性文件并在java中的整个应用程序中使用它?

时间:2014-04-28 05:42:02

标签: java spring java-ee spring-mvc

我有一个场景,我需要在控制器中显示jsp的成功/错误消息。控制器可以访问许多方法,每种方法都可以返回一些消息。这些消息作为键值对存储在我需要访问的属性文件中。现在我想加载这个属性文件一次,并在整个应用程序中使用它。怎么能实现这一目标?框架是spring mvc。现在我在每个班级都做这样的事情,但这种做法似乎不对。请帮忙!

Properties prop = new Properties(); 
prop.load(getClass().getClassLoader().getResourceAsStream(fileName+".properties"));

2 个答案:

答案 0 :(得分:0)

您正在寻找的内容可能是this博客文章中描述的内容。

简而言之,您需要做的就是:

首先告诉spring弹簧配置中属性文件的位置。 这看起来像是:

<context:property-placeholder location="classpath:application.properties"/>

其次,使用@Value注释

将属性注入Spring bean

答案 1 :(得分:0)

您可以使用弹簧配置加载属性文件,如下所示:

<context:property-placeholder location="classpath:application.properties"/>

在spring beans配置文件中添加上述配置,并将属性文件放在源文件夹下,默认情况下位于类路径中。

@Value注释可用于在控制器上注入属性值。像这样:

@Value("${name}")
private String name;

您的属性文件条目如下所示: enter code here name =您的姓名

我希望这个解释可以解决你的问题。