• YML配置实例说明


    1、基本语法

    k:(空格)v
    
    • 表示一对键值对(空格必须有)
    • 以空格的缩进来控制层级关系;只要是左对齐的一列数据,都是同一个层级的
    • 属性和值是大小写敏感的
    server:
      port: 8081
      path: /hello
    

    2、值的写法

    2.1字面量:普通的值(数字,字符串,布尔)

    ​ k: v:字面直接来写;

    ​ 2.2字符串默认不用加上单引号或者双引号;

    ​ “”:双引号;不会转义字符串里面的特殊字符;特殊字符会作为本身想表示的意思
    ​ name: “mingzi01 mingzi02”
    ​ 输出;mingzi01 换行 mingzi02
    ”:单引号;会转义特殊字符,特殊字符最终只是一个普通的字符串数据
    name: ‘mingzi01 mingzi02’
    输出;mingzi01 mingzi02

    ​ 2.3对象、Map(属性和值):

    分行写法:

    friends:
      lastName: zhangsan
      age: 20
    

    行内写法:

    friends: {lastName: zhangsan,age: 18}
    

    ​ 2.4数组(List、Set):

    用 - 值表示数组中的一个元素

    pets:
      - cat
      - dog
      - pig
    

    行内写法

    pets: [cat,dog,pig]
    

    3、配置文件值注入

    配置文件

    config-attributes:
      value: 345                         #对应单个值
      valueArray: 1,2,3,4,5,6,7,8,9      #对应数组
      valueList:                         #对应list
        - 13579
        - 246810
      valueMap:                          #对应map
        name: xiaoming
        age: 20
        sex: female
      valueMapList:                      #对应list<map>
        -  name: aaa
           age: 21
        -  name: bbb
           age: 31
    

    javaBean:

    @ConfigurationProperties(prefix = "config-attributes")
    @ToString
    public class Config {
        private String value;
        private String[] valueArray;
        private List<String> valueList;
        private HashMap<String, String> valueMap;
        private List<Map<String, String>> valueMapList;
    }
    

    主类中添加注解@ConfigurationProperties

    @SpringBootApplication
    @ConfigurationProperties
    public class Configtest1Application {
    	public static void main(String[] args) {
    		SpringApplication.run(Configtest1Application.class, args);
    	}
    }
    
    <dependency>
    	<groupId>org.springframework.boot</groupId>
    	<artifactId>spring-boot-configuration-processor</artifactId>
    	<optional>true</optional>
    </dependency>
    
    1.直接取值配置参数

    定义

    stu:
      name: mcx
      age: 25
    

    取值

    @Value("${stu.name}")
    private String name;
    
    2.将yml配置赋给实体
    stu:
        name:mcx
        age: 25
        number: 9923
    
    @Component
    @ConfigurationProperties(prefix = "stu")
    public class UserBean{
        private String name;
        private int age;
        private int number;
    }
    
    3.多环境配置文件

    application.yml

    spring:
      profiles:
        active: dev (指定读取第一个配置文件)
    

    application-dev.yml:

    server:
      prot: 8080
    

    application-test.yml:

    server:
      prot: 8081
    

    application-prod.yml:

    server:
      prot: 8082
  • 相关阅读:
    学习九-python 异常处理
    验证基于逻辑回归的隐马尔可夫模型的心音信号切分算法(literature study)
    字典的内置方法比较
    学习六
    Ubuntu 16.04 LTS 搜狗输入法安装
    集合经验模态分解(EEMD)在语音中的应用举例
    SwfUpload及imgareaselect使用方法
    Uploadify插件使用方法
    Ueditor使用方法
    PartialView 加载Js
  • 原文地址:https://www.cnblogs.com/zeenzhou/p/12944622.html
Copyright © 2020-2023  润新知