![](/img/trans.png)
[英]How to dynamically change client_secret in Spring Security with Spring boot
[英]How to change database dynamically in Spring Boot?
我们如何在运行时更改 Spring 启动项目中的数据库凭据和源,或者您可以动态地说? 假设如果我们部署到测试服务器,API 项目中的数据库连接指向测试数据库,如果部署到生产服务器,数据库自动指向生产服务器。 做一些研究,我们需要在 spring 引导项目中设置这些设置。 从技术上讲,我们的项目将动态切换到多个数据库连接。
所有这些过程将如何在 Spring 引导中发生?
假设如果我们部署到测试服务器,API 项目中的数据库连接指向测试数据库,如果部署到生产服务器,数据库自动指向生产服务器。
有几种方法。 首先,您可以将属性值作为环境变量的一部分提供。 前任:
-Ddb_url=jdbc:mysql://<server>:<port>/<databasename> -Ddb_username=root -Ddb_password=mysql
spring.datasource.url=${db_url}
spring.datasource.username=${db_username}
spring.datasource.password=${db_password}
或者
您可以根据不同的环境使用不同的属性文件。
application.properties
application-test.properties
application-prod.properties
在这些属性文件中,您可以根据配置文件预先配置地址。 要激活特定环境的配置文件,您必须向 springboot 应用程序提供以下道具。 前任:
-Dspring.profiles.active=prod
在这种情况下,将首先使用application.properties
文件来配置属性,然后再配置application-prod.properties
中的属性。 如果两个文件中的属性匹配,则后面文件的属性将覆盖默认属性文件中的属性,即application.properties
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.