我正在开发一个 REST API 项目并使用 Websphere Application Server 8.5 进行部署。
有一些 String
属性,例如 COUNTRY_NAME
、 COMPANY_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/