java - 使用常量或系统属性

标签 java

我正在开发一个 REST API 项目并使用 Websphere Application Server 8.5 进行部署。 有一些 String 属性,例如 COUNTRY_NAMECOMPANY_NAME 等,它们在整个应用程序中都是相同的。

目前我已经创建了一个Constants类,它使用public static final变量维护所有常量。但我的一些模块队友正在将这些常量条目添加到 Websphere 环境变量中,并使用 System.getProperty() 获取它们。

我认为这种 System.getProperty() 方式的问题在于它使应用程序依赖于 Websphere Server,但我的 Constants 文件位于应用程序本身,使其独立,不依赖于服务器。

但另一方面,如果我想更改属性值,我需要创建应用程序的新 EAR 文件并重新部署,而在 System.getProperty() 情况下可以更改在服务器中完成,无需重新部署。

那么我应该朝哪个方向前进呢?使用Constants 文件或System.getProperty()

最佳答案

不建议将常量存储在专用类或接口(interface)中。请参阅What is the best way to implement constants in Java?进行相关讨论。

IMO,将常量配置为资源文件是一种更好的方法,因为它避免了在需要更改常量值时更改代码的需要。

关于java - 使用常量或系统属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31721690/

相关文章:

java - Oracle 教程 "Fancy Forms with JavaFX CSS"不起作用?

java - 如何获取用户输入的年份的最后两位数

java - 如何读取System类API

java - 迭代枚举元素以创建新对象时出现不兼容类型错误

java - 同时并行执行两个异步任务(我真的需要这个吗?)

java - Java 中的球物理,能量不起作用

java.lang.String 无法转换为 java.util.List

java - MongoDB java : Perist POJO class with generic field

java - 为什么 loadfactor 是 0.75

java - 优化和重新设计现有应用程序