【问题标题】:How to store configuration in constants easy?如何轻松地将配置存储在常量中?
【发布时间】:2016-10-07 12:39:47
【问题描述】:

一段时间以来,我一直在从事该项目,其中所有配置都存储在 Config 类的常量中。我觉得这很舒服:要使用任何属性,我只需要写Config.PROPERTY_NAME。快速、简单、易懂。比CONFIG.getString("StringNameWithoutAutocompletion", defaultValue)舒服多了。

但是要添加新的配置常量,有一些麻烦:我需要复制粘贴然后更改Config类中的现有常量(在我的项目中两次),然后尽量不要忘记添加它.properties 文件。另外,如果以后我想更改属性名称,我需要在两个地方都指定它。

那么,有一个问题:是否可以在不每次手动更改Config 类的情况下获得干净的Config.NAME 属性?

我可以想象的一种可能(但对我来说不是很好)的解决方案是使用 .java 文件而不是 .properties,并在程序加载时对其进行编译。

我认为最简单的方法是从属性文件中自动生成Config 类中的常量,因此如果我在.properties 文件中添加MyProperty,它将立即成为MY_PROPERTY 常量。可能有一些类似于Project Lombok 的库吗?

【问题讨论】:

    标签: java properties configuration refactoring constants


    【解决方案1】:

    如果你想在一个类上定义一个常量(在这种情况下是 Config),你必须编辑类来添加它。

    如果您真的不想重复自己,您可以从属性文件生成常量类,但这确实意味着您每次编辑属性文件时都必须重新生成该类。选择你的毒药。

    【讨论】:

    • 正如我从其他 Stackoverflow 的问题中读到的,常量是存储属性的正确方法。很难相信没有人提出解决方案来实现这一目标。如果您知道如何在每次编辑属性文件时重新生成类,请告诉我,也许我可以在我的项目中自动执行此过程。我想我应该检查一下我的 IDE 的插件,也许答案就在那里……
    猜你喜欢
    • 1970-01-01
    • 2015-07-11
    • 2023-03-21
    • 1970-01-01
    • 1970-01-01
    • 2012-12-05
    • 2013-05-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多