使用属性文件而不是静态最终变量

kar*_*kpl 11 java configuration configuration-files

我有很多带静态最终字段的类,用作默认值或配置.创建全局配置文件的最佳方法是什么?我应该将这些字段移动到单个静态类,使用属性文件还是什么?

编辑:我需要在java类和xhtml页面中使用这个值.价值观不依赖于环境.我可以编译项目来设置新值 - 没问题.

Boh*_*ian 20

答案取决于......

  • 如果值根据运行时环境(例如数据库连接设置,外部服务器IP)而改变,或者可能经常/很快改变,则将内容放入属性文件中
  • 喜欢使用enumstatic final常量尽可能(避免"stringly输入"代码)
  • 查找可能具有所需内容的现有库(例如,用于TimeUnit将小时数转换为秒数,而不是具有static final int SECONDS_IN_HOUR = 3600;)
  • 还剩下什么(希望不会很快改变),public static final在拥有"最多所有权"的班级中使用
  • 避免使用具有返回常量的静态方法的类 - 它只是代码膨胀