[ SpringBoot ] YAML及配置文件初始


前言

以数据为中心 , 更适合做配置文件
YAML的命名非常有意思,

YAML Ain't Markup Language
YAML A Markup Language
YAML isn't Markup Language

这是一种递归语法(头一次听),描述了YAML即是一种标记语言,又不是一种标记语言


一、YAML基本语法

使用的是键值对的方式

key:空格value [这里的空格不能省略]
使用缩进来控制层级结构,左对齐的一列表示一个层级

普通变量 : key: value
对象: key: value

对象名: 
	key: value
--------------------
也可以是行内写法 对象名: {key1: value1,key2: value2}

数组 :

数组名:
	- 元素1
	- 元素2
--------------------
数组名: [元素1,元素2...]

二、YAML读取配置文件的值

1.写配置文件

代码如下(示例):

person:
    name: zhangsan
    friend:
      - lisi
      - wangwu
    map:
      loc1: nanguanqu
      loc2: chaoyangqu
    dog:
      name: 小狗

2.打注解

在对应的model里打上@ConfigurationProperties(prefix = "person") @Component 注解,前者是通知springboot这个类的属性都是配置文件中的属性值 , 后者是将JavaBean标记成一个组件

prefix属性需要与文件中指定的属性对应,即上文中yaml中的person

代码如下(示例):

扫描二维码关注公众号,回复: 12724583 查看本文章
@ConfigurationProperties(prefix = "person")
@Component

3.在pom.xml文件中配置文件处理器

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-configuration-processor</artifactId>
    <optional>true</optional>
</dependency>

最后在测试模块中运行输出对象即可

Person{
    
    name='zhangsan', dog=Dog{
    
    name='小狗'}, 
friend=[lisi, wangwu], map={
    
    loc1=nanguanqu, loc2=chaoyangqu}}

总结

未完待续

猜你喜欢

转载自blog.csdn.net/qq_45596525/article/details/108904027