SpringBoot配置文件

Spring Boot使用的配置文件的名字是固定的都是application,配置文件的类型可以是properties也可以是yml

  • application.properties
  • application.yml / application.yaml

配置文件的作用:修改Spring Boot自动配置的默认值

YAML(YAML Ain't Markup Language)

概述

以前的配置文件大多是xml文件,配置起来显得很冗长,很多。而yaml以数据为中心,比json、xml等更适合做配置文件

创建

yml文件写在跟application.properties文件同级的目录下,可以是application.yml,也可以是application.yaml

下面介绍yaml的写法,以修改端口为例,yaml的写法为

server:
  port: 8081

YAML语法

基本语法

  • k: v: 表示一对键值对(空格必须有)

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

  • 属性跟值的大小写敏感
server:
  port: 8081
  path: /hello

值的写法

不管是在yaml还是在properties里面,值都有以下三种

字面量

字面量即普通的值,包括数字,字符串和布尔值等

写法:

k: v: 字面量

yaml中字符串不需要加上引号,如果加上了引号,对于不同的引号也有不同的作用

  • "":双引号表示不会转义字符里面的特殊字符
  • '':单引号表示会转义字符串里面的特殊字符,特殊字符最终只是一个普通的字符串
对象、Map

对象跟Map的值是属性跟值或者键值对

写法:

friends:
    lastName: zhangsan
    age: 20

除了上面的写法,其实还有一种写法,叫做行内写法

行内写法:

friends: {lastName: zhangsan, age: 20}
数组、List、Set

数组等用 -值 的形式代表数组中的一个值

写法:

pets:
    -cat
    -dog
    -pig

它也有行内写法

行内写法:

pets: [cat, dog, pig]

配置文件注入

在配置文件中写好值后就需要注入了,对于Spring Boot配置的默认值修改当然不需要注入,只管修改,Spring Boot已经做好了注入,但是对于我们自己写的类里面的属性还是有必要做注入的,那么注入的方式有哪些呢?这里列举两种,分别是使用 @ConfigurationProperties 注解跟 @Value 注解注入配置文件中的值,当然,无论使用哪一种方式注入,都需要先使用 @Component 注解把类加载到容器中才能生效,下面介绍两种注入方式

注入方式一:@ConfigurationProperties

配置文件

配置文件可以选取yml文件,也可以选取properties文件,下面对两种文件都做介绍

使用yml写:

person:
  lastName: hello
  age: 18
  boss: false
  birth: 2017/12/12
  maps: {k1: v1, k2: v2}
  lists:
      - lisi
      - zahngsan
  dog:
    name: 小狗
    age: 2
YAML

相关文章: