簡體   English   中英

如何在 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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM