欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Spring Boot配置 : YAML (简介+语法+配置文件值注入)+报错提示Spring Boot Configuration Annotation Processor not

程序员文章站 2022-06-28 18:30:16
**YAML (简介+语法+配置文件值注入)**目录YAML (简介+语法+配置文件值注入)一.简介配置文件的作用标记语言YAML配置例子XML配置例子二.语法1.基本语法2.值的写法三.配置文件值注入配置文件javaBean导入配置文件处理器注意:没有导入配置文件处理器的解决办法一.简介Spring Boot 使用一个全局的配置文件, 配置文件名是固定的:·application.properties·application.yml配置文件的作用修改SpringBoot自动配置的默认值,...

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配置例子

<server>
	<port>8090</port>
</server>

二.语法

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<String,Object> maps;
    private List<Object> lists;
    private Dog dog;

导入配置文件处理器

<!--导入配置文件处理器, 配置文件进行绑定就会有提示-->
      <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-configuration-processor</artifactId>
            <optional>true</optional>
      </dependency>

注意:bean实体中报错提示Spring Boot Configuration Annotation Processor not found in claspath

解决办法:
(1)点击报错提示后面的【Open Decumentation】
Spring Boot配置 : YAML (简介+语法+配置文件值注入)+报错提示Spring Boot Configuration Annotation Processor not

(2)把spring-boot-configuration-processor依赖加入到pom.xml文件中
Spring Boot配置 : YAML (简介+语法+配置文件值注入)+报错提示Spring Boot Configuration Annotation Processor not

(3)提示变为:Re-run Spring Boot Configuration Annotation Processor to update generated metadata.重新启动下就可以了
Spring Boot配置 : YAML (简介+语法+配置文件值注入)+报错提示Spring Boot Configuration Annotation Processor not

本文地址:https://blog.csdn.net/ZhangXinXinXinX/article/details/107459517