yaml学习——基于SpringBoot

1 配置文件

SpringBoot的全局配置文件,默认为:

  • application.properties
  • application.yaml

作用:修改SpringBoot自动配置的默认值

2 yaml

YAML(YAML Ain’t Markup Language),以数据为中心,比json、xml等更适合做配置文件。

server:
  port: 8080 # 内嵌的 Tomcat 端口号。默认值为 8080。

2.1 基本语法

key:(空格)value表示一对键值对(空格必须有);

空格的缩进来控制层级关系;只要是左对齐的一列数据,都是同一层级的

server:
    port: 8081
    path: /hello

字面量:普通的值(数字,字符串,布尔)

k: v

字符串默认不用加上单引号或者双引号;

#双引号不会转义特殊字符
#实际输出 meteor \n smartdog
name: "meteor \n smartdog"

#单引号会转义特殊字符
#实际输出 meteor 换行 smartdog
name: 'meteor \n smartdog'

对象、Map(键值对)

k:在下一行来写对象的属性和值的关系;注意缩进

friends:
    lastName: meteor
    age: 20
#行内写法
friends: {lastName: meteor,age: 21}

数组(List、Set)
- value表示数组中的一个元素

pets:
  - cat
  - dog
  - pig
#行内写法
pets: [cat,dog,pig]

2.2 profile用法

我们可以通过多样性的文档来解决多环境的需求。
在一个yml文件中我们可以把文档划分为多个块:

acme:
	enabled: true
	remote-address: 192.168.0.108
spring:
	profiles: default ##使用spring.profiles指定块的名字
---
acme:
	enabled: true
	remote-address: 192.168.0.109
spring:
	profiles: development
---
acme:
	enabled: true
	remote-address: 192.168.0.110
spring:
	profiles: production

要启动某一块,使某一块的配置生效,需要在启动时传参:

-Dspring.profiles.active=production

另一种方式,不常用

acme:
	enabled: true
	remote-address: 192.168.0.108
spring:
	profiles: 
		active: production # 指定开启的块

当块中的配置过多的时候,可以将每个块分为一个yaml文件,命名规则为:application-块名.yml,启用的方法不变。
在这里插入图片描述
特别的,在yaml中,想要当前行之前的配置,或者传入的参数,可以通过EL表达式来获取:

acme:
	enabled: true
	remote-address: 192.168.0.110
	host: ${acme.remote-address}:8080 #192.168.0.110:8080
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值