springboot 配置文件中的值映射到实体类

1、基本语法 
k:(空格)v:表示一对键值对(空格必须有);
以空格的缩进来控制层级关系;只要是左对齐的一列数据,都是同一个层级的
 

2、值的写法 字面量:普通的值(数字,字符串,布尔) 
 
 k: v:字面直接来写;
  字符串默认不用加上单引号或者双引号;
  "":双引号;不会转义字符串里面的特殊字符;特殊字符会作为本身想表示的意思
 
 name: "zhangsan \n lisi":输出;zhangsan 换行 lisi
  '':单引号;会转义特殊字符,特殊字符终只是一个普通的字符串数据
 
 name: ‘zhangsan \n lisi’:输出;zhangsan \n lisi   对象、Map(属性和值)(键值对): 
 
 k: v:在下一行来写对象的属性和值的关系;注意缩进
  对象还是k: v的方式
 
行内写法:
 
  数组(List、Set): 
用- 值表示数组中的一个元素
 
行内写法
server:     port: 8081     path: /hello
friends: lastName: zhangsan          age: 20         
friends: {lastName: zhangsan,age: 18}
pets:  ‐ cat  ‐ dog  ‐ pig
1 2 3
1 2 3
1
1 2 3 4
 
  3、配置文件值注入 
配置文件
 
javaBean:
 
 
我们可以导入配置文件处理器,以后编写配置就有提示了
pets: [cat,dog,pig]
 

开始测试

将配置文件中的的每一个属性的值,映射到特定的类中

1:首先导入依赖的包

<!--springboot单元测试-->
		<dependency>
			<groupId>org.springframework.boot</groupId>
			<artifactId>spring-boot-starter-test</artifactId>
			<scope>test</scope>
		</dependency>

2: 在配置文件中定义类的属性值

persion:
   name: wukn
   id: 26
   bool: false
   list:
     - a
     

3:建立实体类

在实体类中添加注解

@ConfigurationProperties(prefix = "persion")   prefix:指定需要映射的配置文件

记住一定要将该实体类放在spring组件中,需要加Conpont注解,实体装配

package com.example.springbootdemo.pojo;

import com.alibaba.fastjson.JSON;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

/**
 * ***GOOD LUCK****
 *
 * @Author : Wukn
 * @Date : 2018/6/
 *
 * 将配置文件中的的每一个属性的值,映射到这个组建中
 *@ConfigurationProperties
 * prefix = "persion"   指定在配置文件中需要将persion的配置属性映射到这个实体类中
 */
@Component
@ConfigurationProperties(prefix = "persion")
public class Persion {


    private String name;
    private Integer id;
    private Boolean bool;


    public Persion() {
    }



    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public Integer getId() {
        return id;
    }

    public void setId(Integer id) {
        this.id = id;
    }

    public Boolean getBool() {
        return bool;
    }

    public void setBool(Boolean bool) {
        this.bool = bool;
    }

    @Override
    public String toString() {
        return JSON.toJSONString( this );
    }
}

4:结果

在properties文件中写法

需要修改编码不然会乱码

猜你喜欢

转载自blog.csdn.net/weixin_41404773/article/details/82392013