Spring Boot:是否有最佳实践来决定在应用程序中存储哪些静态值?java属性文件,哪些值存储?



我有一个具有多个GUI视图的spring启动web应用程序。我有麻烦决定哪些值直接存储为Java类中的实例,哪些值应该存储在应用程序中。属性文件。例如:

  • 我定义了检查业务对象有效性的频率间隔。
  • 我正在为已处理的错误定义ui错误消息。

对于这类问题是否有明确的最佳实践,如果没有:你们是如何处理的?

将属性放入配置文件通常有三个原因:

  • 属性,您可能希望根据环境(本地/开发/生产)具有不同的值-在这种情况下,构建管道将为给定的环境注入配置
  • 属性,您认为您可能希望在运行时更改。如果您在配置文件中有它,则不必重新编译应用程序。然而,这个理由现在很少有效,因为应用程序通常运行在多个实例中,你肯定不想在所有实例中手动更改它——出于这个原因,你需要使用一些配置服务器,它可以在运行时向服务提供新的配置
  • 属性,你怀疑自己可能会改变未来——如果你有配置文件,很容易找到他们(而不是搜索通过源代码)