有一段时间我正在研究这个项目,其中所有配置都存储在Config
类的常量中。我觉得这很舒服:使用我需要写的所有属性都是Config.PROPERTY_NAME
。快速,简单,易懂。比CONFIG.getString("StringNameWithoutAutocompletion", defaultValue)
更舒服。
但是在添加新的配置常量方面,存在一些问题:我需要复制粘贴然后更改Config
类中的现有常量(在我的项目中两次),然后尝试不要忘记添加它在.properties文件中。另外,如果稍后我想更改属性名称,我需要在两个地方都指定它。
所以,有一个问题:每次手动更改Config.NAME
类都可以获得干净的Config
属性吗?
我可以想象的一个可能(但不是真正对我好)的解决方案是使用.java文件而不是.properties,并在程序加载时编译它们。
我认为最简单的方法是从属性文件中自动生成Config
类中的常量,因此如果我在.properties文件中添加MyProperty
,它将立即变为MY_PROPERTY
} 不变。可能有一些功能类似于Project Lombok的库?
答案 0 :(得分:1)
如果要在类上定义常量(在本例中为Config),则必须编辑类以添加它。
如果你真的不想重复自己,可以从属性文件中生成常量类,但这意味着每次编辑属性文件时都必须重新生成类。选择你的毒药。