SpringBoot application.yml配置文件写法

1,基本介绍

(1)YAML 是 JSON 的超集,简洁而强大,是一种专门用来书写配置文件的语言,可以替代 application.properties。

(2)在创建一个 SpringBoot 项目时,引入的 spring-boot-starter-web 依赖间接地引入了 snakeyaml 依赖, snakeyaml 会实现对 YAML 配置的解析。

(3)YAML 的使用非常简单,利用缩进来表示层级关系,并且大小写敏感。

2,YAML 配置与 Properties 配置的比较

properties 写法

SpringBoot application.yml配置文件写法_第1张图片

  • 可以使用 @PropertySource 注解加载自定义的 Properties 配置文件,但无法加载自定义的 YAML 文件。
  • YAML 支持列表的配置,而 Properties 不支持。

(2)以空格的缩进来控制层级关系;只要时左对齐的一列数据,都是同一个层级的。

(3)属性和值都是大小敏感

2.1、基本语法

(1)key: value。冒号与value之间必须有一个空格。

(2)大小写敏感。

(3)使用缩进表示层级关系。

(4)缩进不允许使用tab,只能使用空格。

(5)缩进的空格数不重要,只要相同层级的元素左对齐即可。

(6)# 后面跟注释内容

(7)字符串无须加引号。"“会进行转义。比如’\n’就输出\n,但”\n"则会输出换行。

3、值的写法:


1)字面量:单个的、不可再分的值。date、boolean、string、number、null

SpringBoot application.yml配置文件写法_第2张图片
值可以不加双引号或单引号,都默认表示字符串加双引号:支持转义字符
加单引号:不支持转义字符

SpringBoot application.yml配置文件写法_第3张图片


2)对象:键值对的集合。map、hash、set、object

SpringBoot application.yml配置文件写法_第4张图片

SpringBoot application.yml配置文件写法_第5张图片

3)数组:一组按次序排列的值。array、list、queueSpringBoot application.yml配置文件写法_第6张图片

SpringBoot application.yml配置文件写法_第7张图片

集合对象

SpringBoot application.yml配置文件写法_第8张图片 

 

整合

SpringBoot application.yml配置文件写法_第9张图片 

4、取值 

方法1@value("{}")取值

SpringBoot application.yml配置文件写法_第10张图片 SpringBoot application.yml配置文件写法_第11张图片

 方法2、@ConfigurationProperties

yml中配置数据库连接

SpringBoot application.yml配置文件写法_第12张图片

编写jdbc实体类及getter setter 方法

SpringBoot application.yml配置文件写法_第13张图片

注入 

SpringBoot application.yml配置文件写法_第14张图片

 

方法3、Environment

SpringBoot application.yml配置文件写法_第15张图片

5、多环境配置

SpringBoot application.yml配置文件写法_第16张图片

我们还可以通过在代码中指定使用哪种环境的配置

import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;

@SpringBootApplication
public class TestApplication {

    public static void main(String[] args) {
        SpringApplicationBuilder builder = new SpringApplicationBuilder(TestApplication.class);
        builder.application().setAdditionalProfiles("dev");
        builder.run(args);
    }
}

我们可以把多个环境的配置写在一个文件里,可以使用符号

spring:
  profiles:
    # 使用开发环境的配置
    active: dev
---
# 开发环境配置
server:
  port: 8888
spring:
  profiles: dev
---
# 生产环境配置
server:
  port: 8888
spring:
  profiles: prod

 

你可能感兴趣的:(java,spring,boot,后端,java,yml)