如何在常量中存储配置容易?

时间:2016-10-07 12:39:48

标签: java properties configuration refactoring constants

有一段时间我正在研究这个项目,其中所有配置都存储在Config类的常量中。我觉得这很舒服:使用我需要写的所有属性都是Config.PROPERTY_NAME。快速,简单,易懂。比CONFIG.getString("StringNameWithoutAutocompletion", defaultValue)更舒服。

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

所以,有一个问题:每次手动更改Config.NAME类都可以获得干净的Config属性吗?

我可以想象的一个可能(但不是真正对我好)的解决方案是使用.java文件而不是.properties,并在程序加载时编译它们。

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

1 个答案:

答案 0 :(得分:1)

如果要在类上定义常量(在本例中为Config),则必须编辑类以添加它。

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