【问题标题】:How to load a property file just once and use it throughout the application in java?java - 如何只加载一次属性文件并在java中的整个应用程序中使用它?
【发布时间】:2014-04-28 05:42:02
【问题描述】:

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

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

【问题讨论】:

  • 保存这些数据的静态单例类怎么样
  • 你能举个例子吗?方法应该是什么?
  • 这里的单例方法不正确,使用spring mvc可以加载属性。
  • @Shivayan,你从答案中得到解决方案了吗?

标签: java spring jakarta-ee spring-mvc


【解决方案1】:

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

简而言之,这是你必须做的:

首先告诉spring你的spring配置中的properties文件在哪里。 这看起来像:

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

第二次使用@Value 注解将属性注入Spring bean

【讨论】:

    【解决方案2】:

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

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

    在spring beans的配置文件中添加上述配置,并将properties文件放在source文件夹下,默认在classpath中。

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

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

    您的属性文件条目将如下所示: enter code herename=你的名字

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-09-15
      • 2015-06-15
      • 1970-01-01
      • 1970-01-01
      • 2012-07-22
      • 1970-01-01
      • 1970-01-01
      • 2012-01-02
      相关资源
      最近更新 更多