SpringBoot的yml配置文件(三)上

简介: SpringBoot的yml配置文件(三)

一. 什么是YAML 配置文件


相比于 application.properties 配置文件,SpringBoot 更推荐使用 application.yml 的配置文件方式。


YAML 是 “YAML Ain’t Markup Language” 的递归缩写,是方便人类读写的一种格式,比JSON 格式还方便。


YAML 文件,采用 key–value的形式进行编写, value 可以是单个值,也可以是数组集合,也可以是对象。


properties 配置文件和yaml 配置文件,都是对以前的 *.xml 配置文件进行的简化。


一.一 Yaml 文件的优点


拿 MavenHelloWorld项目里面的配置端口号为 8027,配置项目路径为 /Lin 来看。


XML文件,就需要配置成:


<server>
  <port>8027</port>
  <servlet>
    <context-path>/Lin</context-path>
  </servlet>
</server>


Properties 文件,就需要配置成:


server.port=8027
server.servlet.context-path=/Lin


而 Yaml 文件只需要配置成:


server:
  port: 8027
  servlet:
    context-path: /Lin


当配置文件过多时,如 datasource数据库,redis配置,mongodb配置,shiro配置,mybatis配置等, properties文件也难于理解和阅读了。


而yaml文件,目录结构层次清晰,易于理解和阅读。


下面老蝴蝶开始讲解 Yaml 配置文件。 为了便于观察 Yaml 配置文件的输出结果,

不采用直接写出结果的方式,而采用运行输出结果的方式,


需要创建一个 SpringBoot的 Yaml 项目。


二. 创建 Yaml 项目


根据 第一章的 Maven 创建SpringBoot项目的方式,创建一个名为 Yaml 的项目。里面有pom.xml 依赖,有启动类,有测试类,也有application.properties配置文件,banner.txt 文件,还有更重要的 application.yml 配置文件。


20210410162650441.png


为了便于 Bean 对象的封装,在 pom.xml 里面引入了 lombok的依赖


<dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
</dependency>


关于配置文件的格式配置,其实是定义在 Yaml工程的父项目 spring-boot-starter-parent-2.2.2.RELEASE.pom.xml 文件里面。


20210410162700847.png


可以定义成 yml,也可以是 yaml, properties.


当同时存在,造成重突时, properties配置文件的优先级最高, yml 配置文件的的优先级最低。


二.一 验证 properties和 yaml配置文件的优先级


二.一.一 application.properties配置文件


server.port=8027
server.servlet.context-path=/Lin


二.二.二 application.yml 配置文件


server:
  port: 8081
  servlet:
    context-path: /Yue


二.二.三 运行 YamlApplication 启动类,查看控制台输出


20210410162733796.png


发现, application.properties 配置文件生效了。


将 application.properties 文件删除,只保留 application.yml 配置文件。



相关文章
|
8月前
|
XML JavaScript 前端开发
【Java】Spring Boot中的配置properties 和 yml 的区别
【Java】Spring Boot中的配置properties 和 yml 的区别
|
9月前
|
Java Linux Maven
SpringBoot多环境的yml或properties配置,生产环境和开发环境分离(超详细)
SpringBoot多环境的yml或properties配置,生产环境和开发环境分离(超详细)
175 0
|
1月前
|
Java C++
SpringBoot中的properties,yml,yaml的区别
SpringBoot中的properties,yml,yaml的区别
43 0
|
7天前
|
Java 数据库连接 开发者
SpringBoot实用开发篇第一章(yml配置文件操作)
SpringBoot实用开发篇第一章(yml配置文件操作)
|
1月前
|
Java 应用服务中间件 Maven
SpringBoot概述&SpringBoot基础配置&yml的使用&多环境启动
SpringBoot概述&SpringBoot基础配置&yml的使用&多环境启动
38 2
|
7月前
|
Java
springboot(若依)多模块获取yml属性
springboot(若依)多模块获取yml属性
136 0
QGS
|
1月前
|
JSON Java 关系型数据库
手拉手Springboot获取yml配置文件信息
手拉手Springboot获取yml配置文件信息
QGS
50 1
|
1月前
|
Java Docker 容器
docker部署springboot指定yml文件
docker部署springboot指定yml文件
89 0
|
1月前
|
安全 JavaScript Java
你有没有觉得邮件发送人固定配置在yml文件中是不妥当的呢?SpringBoot 动态设置邮件发送人
你有没有觉得邮件发送人固定配置在yml文件中是不妥当的呢?SpringBoot 动态设置邮件发送人
74 0
|
1月前
|
Java Go 数据库
SpringBoot配置文件(properties & yml)
SpringBoot配置文件(properties & yml)