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

如何在java中只加载一次属性文件并在整个应用程序中使用它?,java,spring,jakarta-ee,spring-mvc,Java,Spring,Jakarta Ee,Spring Mvc,我有一个场景,需要从控制器以jsp的形式显示成功/错误消息。控制器可以访问许多方法,每个方法都可能返回一些消息。这些消息作为键值对存储在我需要访问的属性文件中。现在我只想加载这个属性文件一次,并在整个应用程序中使用它。如何做到这一点?该框架是SpringMVC。目前,我在每节课上都做类似的事情,但这种方法似乎并不正确。请帮忙 Properties prop = new Properties(); prop.load(getClass().getClassLoader().getResource

我有一个场景,需要从控制器以jsp的形式显示成功/错误消息。控制器可以访问许多方法,每个方法都可能返回一些消息。这些消息作为键值对存储在我需要访问的属性文件中。现在我只想加载这个属性文件一次,并在整个应用程序中使用它。如何做到这一点?该框架是SpringMVC。目前,我在每节课上都做类似的事情,但这种方法似乎并不正确。请帮忙

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

你正在寻找的可能是博客文章中描述的

简而言之,以下是您必须做的:

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

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


其次,使用注释将属性注入到SpringBean中

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

<context:property-placeholder location="classpath:application.properties"/>
您的属性文件条目如下所示:
在此处输入code
name=您的姓名


我希望这个解释能解决您的问题。

一个保存这个数据的静态单例类怎么样?您能举个例子吗?应该是什么方法?这里的singleton方法不正确,使用spring mvc可以加载属性。@Shivayan,你从答案中得到解决方案了吗?
@Value("${name}")
private String name;