java - 在应用程序运行时更新 Spring Boot 属性的更好方法

标签 java spring rest spring-boot properties

到目前为止,我已经看到了更新 Spring Boot 应用程序的方法,通过更改属性文件本身,然后重新加载文件,或者通过使用 @RefreshScope 注释,或者通过 Spring Cloud Config。

我找不到任何直接的东西(比如 getEnvironment().updateProperty(key, value) )。

有这样的方法吗?

例如,我需要更改我的应用程序的日志记录类型,以显示 SQL; 我的 application.properties 文件包含这一行:spring.jpa.show-sql=false

但是,如果我想在应用程序运行时通过 REST 调用将其设置为 true 怎么办?

您能推荐一种更简单的方法吗?和/或举例说明您将如何为这个特定的属性(property)做这件事?

编辑:更改不需要反射(reflect)在 application.properties 文件中。因此,当应用程序重新启动时,它将使用最初在 application.properties 文件中设置的属性。

最佳答案

部分回答推荐Spring Cloud Config Server。对某些人来说,这可能有点矫枉过正。这个 SO 答案正是您要找的。 How to hot reload properties in Spring Boot and Java EE

关于java - 在应用程序运行时更新 Spring Boot 属性的更好方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45940630/

相关文章:

java - 在 hibernate 中进行逆向工程时不生成对外关系

java - 初学者 Java - 将字符串从 First Middle Last 更改为 Last, First Middle

java - 使用 PdfClown 打印 pdf 时,打印超出页面,而没有 PdfClown 创建新页面,如何解决?

java - Spring Batch @Primary 注释覆盖不正确的 bean

node.js - 如何在nodejs中的端点调用中传递变量

rest - 在 OAuth 重定向 URL 中有访问 token 是不是很糟糕

java - 设计模式 - 我应该在哪里操作从数据库检索的字符串。离它更近还是更远

java - Spring STS jpa + 安全 + Web

java - 我们如何使用 spring security + Oauth2 客户端凭据进行服务到服务(获取身份验证 token ,然后获取资源)

asp.net-mvc - MVC RESTful 服务授权