java - 属性文件中的常量
问题描述
我的团队是 Spring Boot 的新手,大多数成员以前都在使用 J2EE 遗留应用程序。我以前有过 Spring Boot 和微服务方面的经验。我的问题是关于他们使用的一种我以前从未见过的模式,并想了解为什么这可能是一个好主意,也可能不是一个好主意。
他们一直在创建几个属性文件并向这些属性文件添加键值对,这些属性文件使用@Value 或 ResourceBundle 注入到对象字段中。
例如,我通常认为像 Enum 这样的颜色将被添加到属性文件中,与常量相同。
#color.properties
color.r = red
color.b = blue
color.g = green
似乎编写了很多不必要的代码,比如将所有值注入到一个类中,然后创建一个包含这些值的数组。我们也在努力让它发挥作用。
我认为属性文件的重点是用于外部化配置。当 Java 为这些东西提供数据类型和结构时,为什么我的团队要这样做?
我想我想这样做的方法是创建带有静态常量字段的枚举和实用程序类。
解决方案
你说得对
属性文件的要点是用于外部化配置
仅当您需要允许此属性可配置为每个客户/环境/执行的不同值时,才将内容放入属性中。即使添加一些很少更改的属性也会使您的属性变得过大和繁琐。因此,如果这些是不打算更改的常量,它们肯定不属于属性。要么使用枚举,要么将它们放入接口或作为抽象类的成员。调用它或类似的东西static public
Constants
推荐阅读
- python - 使用 Python 进行 BigQuery 单元测试
- xcode - 无法使用 stopUpdatingLocation 和 stopRelativeAltitudeUpdates 停止更新
- azure - Azure 跨存储库策略会否决存储库本地策略?
- node.js - 在 NodeJS 中获取 mac 地址的问题
- python - 优化 100 万个 For 循环的 Python 代码
- android - 无法在 Android Studio 中创建与配对设备的蓝牙连接
- php - 从多维数组制作面包屑
- tableau-api - 获取在 Tableau 中使用应用程序 A 的用户使用的应用程序的不同计数
- python - 仅在调用函数时继续
- python - 我无法使用 opencv2 并收到 ImportError: libgl.so.1 cannot open shared object file no such file or directory