1. 程式人生 > 其它 >SpringBoot配置檔案yml

SpringBoot配置檔案yml

SpringBoot配置檔案(yml)

application.properties key = value

application.yml key: value (對空格要求嚴格)

heyuapplication.yml

heyuliang: waitting for me,i will find you
person:
name: 禾下涼
age: 20
happy: false
birthday: 2000/04/28
map: {k1: 長安故里,k2: 禾下涼}
list:
  - book
  - music
  - basketball
dog:
   #${person.mouse:hehe}-奶茶 表選擇 person中沒有mouse則預設後面的hehe
  name: ${person.mouse:hehe}-奶茶
  age: 2

cat:
C-name: 椰奶冰
age: 2

1、獲取配置資訊

(1)@value()(不推薦)

例: @value("${hexialiang}")

String liang;

(2)@ConfigurationProperties() 讀取並繫結bean

@Component 將bean注入到類中

例: @Component //注入bean

@ConfigurationProperties(prefix="person")

class Person類{}

(3)@ConfigurationProperties() 讀取並校驗 (會自動進行校驗,例如郵箱格式校驗)

沒有在類上使用@Component

要在使用該類的地方使用@EnableConfigurationProperties() 註冊bean

例: @ConfigurationProperties("car")

class CarProperties{}

使用該類CarProperties的另外的一個類上(例如啟動類上)

@EnableConfigurationProperties(CarProperties.class)

(4)@PropertySource() 讀取指定的properties或yml檔案

例:@Component //注入bean

@PropertySource("classpath:heyuapplication.yml")

class Heyu{}

 

2、SpringBoot 配置檔案的優先順序

 

 

 

 

3、多環境配置切換(啟用配置檔案)

(1)application.properties

  #springboot的多環境配置:可以選擇啟用哪一個配置檔案
#啟用application-properties
spring.profiles.active=test

(2)application-test.yml

server:
port: 8081
spring:
profiles:
  active: dev  
  #選擇啟用哪一個配置 此時選擇的是dev
---    
server:
port: 8082
spring:
profiles:dev #版本名dev
---  
server:
port: 8083
spring:
profiles:test   #版本名test