将值分配给应用程序属性文件 Spring 引导



我有一个要求,在JavaCode中运行时获取DB URI,DB URL等。此值需要可供 application.properties 使用,以便进行数据库调用。

我总是使用 Spring boot 来检索在 application.properties 文件中分配的值,而不是其他方式 我如何实现类似的 db.uri = {comingFromJavaCode}

您的问题已经在这个堆栈溢出线程中得到了回答。在春季写入/更新属性文件值

顺便说一下,在启动期间,spring启动应用程序只读取一次application.properties文件。在运行时向文件添加任何新值都不起作用。以下堆栈溢出线程说明了如何在加载时重新加载application.properties文件。如何使用注释在 Spring 4 中重新加载属性文件? .本文也可以使用: https://docs.spring.io/spring/docs/3.2.6.RELEASE/javadoc-api/org/springframework/context/support/ReloadableResourceBundleMessageSource.html

在 Spring Boot 中,您可以使用System.setProperty(String key, String value)以编程方式添加或更新 application.properties 中的属性

@SpringBootApplication
public class SpringBootTestApplication {
public static void main(String[] args) {

System.setProperty("key", "value");

SpringApplication.run(SpringBootTestApplication.class, args);

}
}

注意:使用 System.setProperty(字符串键、字符串值(定义的值优先于 application.properties 文件中的值

最新更新