YML配置實例說明


1、基本語法

k:(空格)v 
  • 表示一對鍵值對(空格必須有)
  • 以空格的縮進來控制層級關系;只要是左對齊的一列數據,都是同一個層級的
  • 屬性和值是大小寫敏感的
server: port: 8081 path: /hello 

2、值的寫法

2.1字面量:普通的值(數字,字符串,布爾)

​ k: v:字面直接來寫;

​ 2.2字符串默認不用加上單引號或者雙引號;

​ “”:雙引號;不會轉義字符串里面的特殊字符;特殊字符會作為本身想表示的意思
​ name: “mingzi01 \n mingzi02”
​ 輸出;mingzi01 換行 mingzi02
”:單引號;會轉義特殊字符,特殊字符最終只是一個普通的字符串數據
name: ‘mingzi01 \n mingzi02’
輸出;mingzi01 \n mingzi02

​ 2.3對象、Map(屬性和值):

分行寫法:

friends: lastName: zhangsan age: 20 

行內寫法:

friends: {lastName: zhangsan,age: 18} 

​ 2.4數組(List、Set):

用 - 值表示數組中的一個元素

pets: - cat - dog - pig 

行內寫法

pets: [cat,dog,pig] 

3、配置文件值注入

配置文件

config-attributes:  value: 345 #對應單個值  valueArray: 1,2,3,4,5,6,7,8,9 #對應數組  valueList: #對應list  - 13579  - 246810  valueMap: #對應map  name: xiaoming  age: 20  sex: female  valueMapList: #對應list<map>  - name: aaa  age: 21  - name: bbb  age: 31 

javaBean:

@ConfigurationProperties(prefix = "config-attributes") @ToString public class Config { private String value; private String[] valueArray; private List<String> valueList; private HashMap<String, String> valueMap; private List<Map<String, String>> valueMapList; } 

主類中添加注解@ConfigurationProperties

@SpringBootApplication @ConfigurationProperties public class Configtest1Application { public static void main(String[] args) { SpringApplication.run(Configtest1Application.class, args); } } 
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-configuration-processor</artifactId> <optional>true</optional> </dependency> 
1.直接取值配置參數

定義

stu: name: mcx age: 25 

取值

@Value("${stu.name}") private String name; 
2.將yml配置賦給實體
stu: name:mcx age: 25 number: 9923 
@Component @ConfigurationProperties(prefix = "stu") public class UserBean{ private String name; private int age; private int number; } 
3.多環境配置文件

application.yml

spring: profiles: active: dev (指定讀取第一個配置文件) 

application-dev.yml:

server: prot: 8080 

application-test.yml:

server: prot: 8081 

application-prod.yml:

server: prot: 8082


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM