代码之家  ›  专栏  ›  技术社区  ›  Akshay

何时读取Java Web应用程序中的属性文件

  •  0
  • Akshay  · 技术社区  · 15 年前

    我正在开发一个使用Java EE6和JSF 2的Web应用程序。我有一个.properties文件,其中存储了一些常量,在部署应用程序之前,需要轻松更改这些常量。我知道如何读取属性文件,但问题是何时读取?

    这是我用来访问调用的属性的类 CLIENT_ID CLIENT_SECRET :

    public class FConnectProperties {
    
        Properties properties;
    
        public FConnectProperties() throws FileNotFoundException, IOException{
            properties = new Properties();
            ClassLoader classLoader = Thread.currentThread().getContextClassLoader();
            InputStream stream = classLoader.getResourceAsStream("/FConnect/FConnect.properties");
            properties.load(stream);
            stream.close();
        }
    
        public String getClientID(){
            return properties.getProperty("CLIENT_ID");
        }
    
        public String getClientSecret(){
            return properties.getProperty("CLIENT_SECRET");
        }
    

    因为这个类从磁盘读取属性文件,所以每次我需要访问它们时都可以实例化它吗?或者,我应该在应用程序启动期间(可能从单例bean)实例化它一次,然后从那里访问它吗?做这个最好的方法是什么?

    一旦启动应用程序,属性就不会更改。我只是在读,从不更新。

    2 回复  |  直到 14 年前
        1
  •  0
  •   TZHX    15 年前

    我建议在启动时读一次这个文件,就像你说的,把它们放在一个单独的地方。因为我猜测您的属性是一组键/值对,它们并不是那么大,所以我认为它们在映射类型数据结构中应该做得很好。

    根据您需要访问它们的频率,从磁盘读取它们可能会变得昂贵。

        2
  •  0
  •   dvl    14 年前

    因为属性文件不会更改,所以只创建一个应该在启动时加载的文件实例是有意义的。不需要再次读取文件。

    推荐文章