zoukankan      html  css  js  c++  java
  • yaml配置注入

    application.properties | 语法结构 key=value

    application.yml 语法结构 key:空格 value

    配置文件是为了修改spring boot自动配置的默认值

    例如: 修改Tomcat默认启动端口 

    server.port=8081

    YAML 是 "YAML Ain't a Markup Language"(YAML 不是一种标记语言)的递归缩写。在开发的这种语言时,YAML 的意思其实是:"Yet Another Markup Language"(仍是一种标记语言)。

    yaml语法格式

    person:
      name: wangye${random.int}
      age: 23
      happy: false
      birth: 2021/2/23
      map: {k1: v1,k2: v2}
      list:
        - code
        - music
        - swimming
      dog:
        name: 大黄
        age: 90

    基本语法

    • 大小写敏感
    • 使用缩进表示层级关系
    • 缩进不允许使用tab,只允许空格
    • 缩进的空格数不重要,只要相同层级的元素左对齐即可
    • '#'表示注释

    注入配置文件

    yaml文件可以给我们的实体类直接注入匹配值

    1、在springboot项目中的resources目录下新建一个文件 application.yml

    2、编写一个实体类 Person;

    @Component //注册bean到容器中
    public class Person {
        private String name;
        private Integer age;
        private Boolean happy;
        private Date birth;
        private Map<String,Object> maps;
        private List<Object> lists;
        private Dog dog;
        
        //有参无参构造、get、set方法、toString()方法  
    }

    3、我们来使用yaml配置的方式进行注入

    person:
      name: wangye${random.int}
      age: 23
      happy: false
      birth: 2021/2/23
      map: {k1: v1,k2: v2}
      list:
        - code
        - music
        - swimming
      dog:
        name: 大黄
        age: 90

    4、注入到我们的类中!

    /*
    @ConfigurationProperties作用:
    将配置文件中配置的每一个属性的值,映射到这个组件中;
    告诉SpringBoot将本类中的所有属性和配置文件中相关的配置进行绑定
    参数 prefix = “person” : 将配置文件中的person下面的所有属性一一对应
    */
    @Component //注册bean
    @ConfigurationProperties(prefix = "person")
    public class Person {
        private String name;
        private Integer age;
        private Boolean happy;
        private Date birth;
        private Map<String,Object> maps;
        private List<Object> lists;
        private Dog dog;
    }

    @PropertySource :加载指定的配置文件;

    @configurationProperties:默认从全局配置文件中获取值;

     

  • 相关阅读:
    js&jquery避免报错的方法
    if-else用法
    js-form表单元素的自定义属性
    a标签
    jQuery知识集锦
    JDK动态代理
    hibernate之多对一单向关联
    STL算法设计理念
    计算机常识--win7 删除文件、拒绝訪问等等,所有提示权限不够 解决的方法
    大话设计模式C++实现-第8章-工厂方法模式
  • 原文地址:https://www.cnblogs.com/IanIan/p/14437863.html
Copyright © 2011-2022 走看看