属性文件中的常量

时间:2019-06-27 09:22:51

标签: java spring design-patterns

我的团队是Spring Boot的新手,大多数成员以前都在研究J2EE旧版应用程序。我以前有过Spring Boot和微服务的经验。我的问题是关于他们正在使用的模式,这种模式以前从未见过,我想了解为什么这可能是个好主意。

他们一直在创建几个属性文件,并将键值对添加到这些属性文件中,然后使用@Value或ResourceBundle将其插入到对象字段中。

例如,我通常认为像颜色之类的Enum会被添加到属性文件中,与常量相同。

#color.properties
color.r = red
color.b = blue
color.g = green

似乎正在编写许多不必要的代码,例如将所有值注入到一个类中,然后创建一个包含值的数组。我们也正在努力使这项工作奏效。

我认为属性文件的重点是针对外部化配置。当Java为这些事情提供数据类型和结构时,为什么我的团队会这样做?

我想我要这样做的方法是通过创建带有静态常量字段的Enums和实用程序类。

2 个答案:

答案 0 :(得分:1)

您说的没错

  

属性文件的目的是用于外部化配置

仅当您需要允许将此属性配置为每个客户/环境/执行使用不同的值时,才将内容放入属性。即使添加一些很少更改的属性,也会使您的属性过大且繁琐。因此,如果这些常量不希望更改,则绝对属于属性。使用Enum或将它们放入Interface或作为static public成员放入抽象类。称为Constants或类似的名称

答案 1 :(得分:0)

这不是正确的方法,是的,我们应该对此类常量使用ENUM。

通常,属性文件用于存储项目配置数据或设置

如果您谈论的是Spring的application.properties,那是最糟糕的事情

请通过以下链接充分利用Spring的application.properties

Spring Application.properties

希望这会有所帮助