麻绳先生

做一些记录性的工作

YAML

  1. YAML Ain’t Markup Language
  2. YAML A Markup Language

.yml是YAML语言的文件,以数据为中心,比json、xml更适合做配置文件。

参考语法规范http://www.yaml.org

1
2
server:
port: 8081

基本语法

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

以空格的缩进来控制层级关系,只要左对齐,就认为是同一层级。

值的写法

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

key:(空格)value:字面直接写

  • 字符串默认不用引号
  • 双引号和单引号有区别,前者会对特殊字符转义,后者只会当作普通字符

数组(list、set)

用-值表示数组中的一个元素

1
2
3
4
pets:
- cat
- dog
- pig

行内写法

1
pets: [cat,dog,pig]

对象、Map(属性和值)

方法和前文一致

1
2
3
4
friend:
firstname: zhang
lastname: san
telphone: 136545646

行内写法

1
friend: {firstname: zhang,lastname: san,telphone: 136545646}

解析yml配置文件

spring-boot解析yml文件需要使用注解@ConfigurationProperties(prefix = “index-id””)

ConfigurationProperties和value有区别

默认从全局配置文件中获取值

@PropertySource

解析非全局配置文件

@PropertySource(value = “calsspath:example.properties”)

@ImportResource

@ImportResource导入spring配置文件,使配置文件内容生效。

@ImportResource(location = “classpath:beans.xml”)

springboot推荐的像容器中添加组件的方式:
使用全注解的方式。
使用@Configuration指明一个配置类。