YAML (简介+语法+配置文件值注入)+报错提示Spring Boot Configuration Annotation Processor not
一.简介
Spring Boot 使用一个全局的配置文件, 配置文件名是固定的:
·application.properties
·application.yml
配置文件的作用
修改SpringBoot自动配置的默认值,SpringBoot在底层都会帮我们配置好
YAML(YAML Ain't Markup Language)
A Markup Language : 是一个标记语言
isn't Markup Language : 不是一个标记语言
标记语言
以前的配置文件, 大多都是使用 xxxx.xml文件
YAML : 是以数据为中心, 比json, xml等更适合做配置文件
YAML配置例子
server:
port: 8090
XML配置例子
8090
二.语法
1.基本语法
k:(空格)v 表示一对键值对(空格必须要有)
以空格的缩进来控制层级关系, 只要是左对齐的一列数据, 都是同一个层级的
server:
port: 8090
path: /hello
属性和值也是大小写敏感的
2.值的写法
字面量: 普通的值(数字, 字符串, 布尔)
字符串默认不用加上单引号或者双引号:
" ": 双引号;不会转义字符串里面的特殊字符; 特殊字符会作为本身想表示的意思
name: "zhangsan \n lisi" 输出的结果就是: zhangsan 换行 lisi
' ': 单引号; 会转移特殊字符, 特殊字符最终只是一个普通的字符串数据
name: "zhangsan \n lisi" 输出的结果就是: zhangsan \n lisi
对象, map (属性和值) (键值对)
k: v : 在下一行写对象的属性和值的关系 ; 注意缩进
对象还是k: v的方式
friends:
lastName: Sansan
age: 20
行内写法:
friends: {lastName: Sansan,age: 20}
数组(List, Set)
用 - 值 表示数组中的一个元素
pets:
- cat
- dog
- pig
行内写法
pets: [cat,dog,pig]
三.配置文件值注入
配置文件
person:
lastName: zhangsan
age: 18
boss: false
birth: 2020/12/12
maps: {k1: v1,k2: v2}
lists:
- lisi
- zhaoliu
dog:
name: 小狗
age: 2
javaBean
/**
* 将配置文件中配置的每一个属性的值, 映射到这个组件中
* @ConfigurationProperties: 告诉SpringBoot将本类中的所有属性和配置文件中相关的配置进行绑定;
* prefix ="person" : 配置文件中哪个下面的所有属性进行一一映射
*
* 只有这个组件是容器中的组件, 才能使用容器提供的@ConfigurationProperties功能
*/
@Component
@ConfigurationProperties(prefix ="person")
public class Person {
private String lastName;
private Integer age;
private Boolean boss;
private Date birth;
private Map maps;
private List
导入配置文件处理器
org.springframework.boot
spring-boot-configuration-processor
true
注意:bean实体中报错提示Spring Boot Configuration Annotation Processor not found in claspath
解决办法:
(1)点击报错提示后面的【Open Decumentation】
(2)把spring-boot-configuration-processor依赖加入到pom.xml文件中
(3)提示变为:Re-run Spring Boot Configuration Annotation Processor to update generated metadata.重新启动下就可以了
哦吼~到这里就结束咯 点个再走吧......
作者:3Sansan
出处:YAML (简介+语法+配置文件值注入)+报错提示Spring Boot Configuration Annotation Processor not
本文版权归作者和共有, 欢迎转载, 且在文章页面显示位置给出原文连接, 未经作者同意必须保留此段声明, 否则保留追究法律责任的权利