Spring Boot 配置文件入門

2024年2月6日 26点热度 0人点赞

Spring Boot 中的配置文件允許開發人員根據應用程序運行的環境為其應用程序定義不同的配置集。這對於管理不同的部署場景並確保應用程序在每個環境中正確運行非常有用。

什麼是配置文件?

Spring Boot中的配置文件是一種根據應用程序運行的環境為應用程序定義不同配置集的方法。例如,可能擁有一組用於開發環境的配置和另一組用於生產環境的配置。這些配置可能包括數據庫設置(我想使用一個數據庫進行測試,另一個用於開發目的)、Bean 創建(例如:我希望隻有在開發過程中才創建一個 bean,可以使用配置文件) 等等。

可以使用屬性文件、YAML 文件甚至 Java 代碼來定義配置文件。默認情況下,如果沒有指定其他配置文件,Spring Boot 將使用“默認”配置文件。要激活配置文件,可以將“spring.profiles.active”屬性設置為要使用的配置文件的名稱。

在 Spring Boot 中使用配置文件

定義配置文件

可以使用屬性文件或 YAML 文件定義配置文件。例如,可能有一個用於開發環境的application-dev.properties文件和一個用於生產環境的application-prod.properties文件要激活配置文件,可以在 application.properties 文件中設置spring.profiles.active屬性

spring.profiles.active =dev

這將激活dev配置文件,Spring Boot 將加載application-dev.properties

註意:當在“application.properties”文件中定義“spring.profiles.active”屬性時,Spring Boot 仍將加載該文件以及特定於活動配置文件的屬性文件。這意味著“application.properties”文件中定義的任何屬性都將被激活的配置文件中相同屬性覆蓋掉。

例子

  • 為每個環境創建不同的屬性文件

在目錄中創建一個application.properties文件src/main/resources,其中包含默認數據庫配置:

spring.datasource.url =jdbc:mysql://localhost:3306/demo 
spring.datasource.username =root
spring.datasource.password =root

在同一目錄中創建另一個名為的屬性文件application-dev.properties,其中包含開發數據庫的配置:

spring.datasource.url =jdbc:mysql://localhost: 3306 /demo_dev 
spring.datasource.username =root_dev
spring.datasource.password =root_dev

在同一目錄中創建第三個屬性文件application-prod.properties,其中包含生產數據庫的配置:

spring.datasource.url =jdbc:mysql://prod-db.example.com: 3306/demo_prod
spring.datasource.username =root_pro
spring.datasource.password =root_dev
  • 配置應用程序以使用配置文件

application.properties文件中,添加以下行以指示哪些配置文件應處於活動狀態:

spring.profiles.active =dev

默認情況下,Spring Boot 將使用與活動配置文件相關的屬性文件中提供的適當信息來配置數據源連接。Spring Boot 用於配置數據源連接的屬性包括:( spring.datasource.url , spring.datasource.username , spring.datasource.password)。

  • 使用不同的配置文件運行應用程序

要使用開發配置文件運行應用程序並使用該application-dev.properties文件進行配置,請將spring.profiles.active屬性設置為 dev 或在運行應用程序時使用: — spring.profiles.active 屬性。

java -jar app.jar --spring.profiles.active=dev

通過以這種方式使用配置文件,就可以輕松地在不同環境的不同數據庫配置之間切換,而無需修改應用程序代碼或配置文件。