到目前为止,我已经看到了通过更改属性文件本身,然后重新加载文件,或使用@RefreshScope
注释或Spring Cloud Config来更新Spring启动应用程序的方法。
我无法直接找到任何内容(例如getEnvironment().updateProperty(key, value)
)。
有没有办法做到这一点?
例如,我需要更改应用程序的日志记录类型,以显示SQL;
我的application.properties
文件包含以下行:spring.jpa.show-sql=false
。
但是如果我想在应用程序运行时通过REST调用将其设置为true
该怎么办?
你能建议一种更简单的方法吗?和/或展示如何自己做这个特定属性的例子?
编辑:更改不需要反映在application.properties
文件中。因此,当重新启动应用程序时,它将使用最初在application.properties
文件中设置的属性。
答案 0 :(得分:0)
一些答案建议使用Spring Cloud Config Server。对于某些人来说,这可能是一个过大的杀伤力。这样的答案正是您要寻找的。 How to hot reload properties in Spring Boot and Java EE