第二章 springboot基础配置
一、属性配置
properties格式的文件书写规范是key=value
SpringBoot默认配置文件是application.properties
springboot内置属性查询:
Common Application Properties
总结:
-
SpringBoot中导入对应starter后,提供对应配置属性
-
书写SpringBoot配置采用关键字+提示形式书写
二、配置文件分类
springboot提供了三种属性配置方式:
-
properties格式(传统格式/默认格式)
-
yml格式(主流格式)
-
yaml格式
配置文件优先级:
-
配置文件间的加载优先级 properties(最高)> yml > yaml(最低)
-
不同配置文件中相同配置按照加载优先级相互覆盖,不同配置文件中不同配置全部保留
三、yaml文件
语法格式:
-
大小写敏感
-
属性层级关系使用多行描述,每行结尾使用冒号结束
-
使用缩进表示层级关系,同层级左侧对齐,只允许使用空格(不允许使用Tab键)
-
属性值前面添加空格(属性名与属性值之间使用冒号+空格作为分隔)
-
#号 表示注释
核心规则:数据前面要加空格与冒号隔开
字面值表示方式:
数组数据格式、对象数组格式:
属性名书写位置的下方使用减号作为数据开始符号,每行书写一个数据,减号与数据间空格分隔
数组书写缩略格式
对象数组格式一
对象数组格式二
对象数组缩略格式
四、数据读取
1.读取单一数据
yaml中保存的单个数据,可以使用Spring中的注解直接读取,使用@Value可以读取单个数据,属性名引用方式:${一级属性名.二级属性名……}
总结:
-
使用@Value配合SpEL读取单个数据
-
如果数据存在多层级,依次书写层级名称即可
2.读取全部数据
SpringBoot提供了一个对象,能够把所有的数据都封装到这一个对象中,这个对象叫做Environment,使用自动装配注解可以将所有的yaml数据封装到这个对象中
数据封装到了Environment对象中,获取属性时,通过Environment的接口操作进行,具体方法时getProperties(String),参数填写属性名即可
总结:
-
使用Environment对象封装全部配置信息
-
使用@Autowired自动装配数据到Environment对象中
3.读取对象数据
首先定义一个对象,并将该对象纳入Spring管控的范围,也就是定义成一个bean,然后使用注解@ConfigurationProperties指定该对象加载哪一组yaml中配置的信息。
这个@ConfigurationProperties必须告诉他加载的数据前缀是什么,这样当前前缀下的所有属性就封装到这个对象中。记得数据属性名要与对象的变量名一一对应啊,不然没法封装。
总结:
-
使用@ConfigurationProperties注解绑定配置信息到封装类中
-
封装类需要定义为Spring管理的bean,否则无法进行属性注入
4.数据引用
总结:
-
在配置文件中可以使用${属性名}方式引用属性值
-
如果属性中出现特殊字符,可以使用双引号包裹起来作为字符解析