我们可以在spring boot中更改application.properties文件中的键值吗?

时间:2018-02-10 10:10:02

标签: java spring-boot application.properties

我在属性文件中有一个值,比如说

my.flag=false

我将此文件放在{war file} / config文件夹的位置,以覆盖内部application.properties文件。 所以当我在我的控制器中时,我只是打印了这个键的值,它确实是错误的。

现在我的问题是,如果我将application.properties中的这个值更改为true,仍然在控制器中我得到之前的值(启动服务器时的值)。

如果我必须更改application.properties文件中的值,那么每次都需要服务器重启吗?

1 个答案:

答案 0 :(得分:1)

您无需重新启动应用程序。

最简单的方法是每次访问属性时检查属性文件。这样,您的应用程序将始终与保存在文件中的新值同步。

但效率不高,因为每次访问属性时都必须读取文件。

更好的方法是使用一个配置类来处理应用程序的配置。

您应用中的所有课程都将访问配置类以读取值。

配置类将按时间间隔轮询文件以加载新值。

最简单的方法是将配置类作为单例。

Spring框架提供的另一个解决方案是Config Server

这适用于云,但如果您的应用和配置很复杂且需要更多功能,则应检查这种可能性。