使用常量或系统属性

时间:2015-07-30 10:47:37

标签: java

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

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

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

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

那么我应该向前迈进哪条路。使用Constants文件或System.getProperty()

1 个答案:

答案 0 :(得分:2)

不建议在常规类或接口中存储常量。有关相关讨论,请参阅What is the best way to implement constants in Java?

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