在 Spring Boot 中,我們可以使用 YAML (YML) 文件來實(shí)現(xiàn)多環(huán)境配置。以下是實(shí)現(xiàn)多環(huán)境配置的步驟:
創(chuàng)建多個(gè) YAML 配置文件:在 src/main/resources
目錄下,為每個(gè)環(huán)境創(chuàng)建一個(gè) YAML 配置文件。例如,創(chuàng)建以下三個(gè)文件:
application.yml
(默認(rèn)配置文件)application-dev.yml
(開發(fā)環(huán)境配置文件)application-prod.yml
(生產(chǎn)環(huán)境配置文件)在每個(gè) YAML 配置文件中添加相應(yīng)的配置信息。例如,在 application-dev.yml
文件中添加以下內(nèi)容:
spring:
profiles: dev
server:
port: 8081
app:
message: This is a development environment.
在 application-prod.yml
文件中添加以下內(nèi)容:
spring:
profiles: prod
server:
port: 8080
app:
message: This is a production environment.
在 application.yml
文件中添加以下內(nèi)容,以激活對(duì)應(yīng)的環(huán)境配置文件:
spring:
profiles:
active: @profileActive@
在運(yùn)行 Spring Boot 項(xiàng)目時(shí),設(shè)置 spring.profiles.active
屬性來激活對(duì)應(yīng)的環(huán)境配置文件。例如,在命令行中運(yùn)行以下命令來激活開發(fā)環(huán)境配置文件:
java -jar your-app.jar -Dspring.profiles.active=dev
或者,在 IntelliJ IDEA 中,將 -Dspring.profiles.active=dev
添加到 “VM options” 中。
在代碼中使用 @Value
注解或 Environment
對(duì)象獲取配置信息。例如,在一個(gè) Controller 類中添加以下代碼:
import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HomeController {
@Value("${app.message}")
private String message;
@GetMapping("/")
public String home() {
return message;
}
}
通過以上步驟,你可以實(shí)現(xiàn) Spring Boot 項(xiàng)目的多環(huán)境配置。根據(jù)需要,你可以為其他環(huán)境創(chuàng)建更多的 YAML 配置文件,并在運(yùn)行項(xiàng)目時(shí)激活相應(yīng)的環(huán)境配置文件。