1. 程式人生 > >Spring基礎系列-使用Profiles

Spring基礎系列-使用Profiles

原創作品,可以轉載,但是請標註出處地址:https://www.cnblogs.com/V1haoge/p/9996884.html

SpringBoot基礎系列-使用Profile

概述

Profile主要用於區分不同的環境。

使用方法

@Profile

在某個類、或者方法上新增@Profile註解,指定具體的profile環境標籤,那麼只又在該profile處於active的情況下該類,方法才會被載入、執行。

@Profile({"dev","test"})
public class Xxx{
    
    @Profile({"dev"})
    @Bean
    public Xxx xxx(){
        return new Xxx();
    }
}

多環境配置

properties配置檔案

使用properties配置檔案實現多環境配置,只能通過新增多個application-{profile}.properties來實現。
比如:application-dev.properties,application-test.properties

YAML配置檔案

使用YAML實現多環境配置要簡單的多,只需要一個檔案即可,application.yml
在檔案中使用---來區分多個環境,每個環境都需要配置spring.profile屬性,不配置的屬於預設環境

server:
  port: 8080
#屬性對映測試
app:
  name: springdemo
  size: 100M
  user: weiyihaoge
  version: 0.0.1
---
spring:
  profiles: dev
server:
  port: 8081
---
spring:
  profiles: test
server:
  port: 8082
---
spring:
  profiles: pro
server:
  port: 8083

啟用profiles

可以在命令列引數、系統引數、application.properties等處進行配置

命令列

--spring.profiles.active=dev

application.properties

spring.profiles.active=dev

新增profiles

我們可以在不修改已啟動的profiles的基礎上新增新的profiles
使用spring.profiles.include屬性進行配置
還可以使用程式設計的方式實現,使用如下的方式新增:

SpringApplication.setAdditionalProfiles("development");