zoukankan      html  css  js  c++  java
  • springboot配置

    配置文件

    SpringBoot使用一个全局的配置文件 , 配置文件名称是固定的

    • application.properties

      • 语法结构 :key=value

    • application.yml

      • 语法结构 :key:空格 value

    配置文件的作用 :修改SpringBoot自动配置的默认值,因为SpringBoot在底层都给我们自动配置好了;通俗来说就是配置某些Properties中属性值

     yaml语法学习

    普通的值  [ 数字,布尔值,字符串  ]

    k: v

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

    注意:

    • “ ” 双引号,不会转义字符串里面的特殊字符 , 特殊字符会作为本身想表示的意思;

      比如 :name: "kuang shen"   输出 :kuang  换行   shen

    • '' 单引号,会转义特殊字符 , 特殊字符最终会变成和普通字符一样输出

      比如 :name: ‘kuang shen’   输出 :kuang     shen

    对象

    object: 
        property1: val1
        property2: val2

    行内写法

    object: {property1: val1,property2: val2}

    数组

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

    items:
     - item1
     - item2
     - item3

    行内写法

    items:[item1,items2,items3]

    注入配置文件

    @Value注入配置文件

    @Component //注册bean
    public class Dog {
        @Value("${}")
        private String name;
        @Value("18")
        private Integer age;
    }

    @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;
    }

    yaml配置文件

    person:
      name: qinjiang
      age: 3
      happy: false
      birth: 2000/01/01
      maps: {k1: v1,k2: v2}
      lists:
       - code
       - girl
       - music
      dog:
        name: 旺财
        age: 1

    @PropertySource

     加载指定的配置文件;

    @PropertySource(value = "classpath:person.properties")
    @Component //注册bean
    public class Person {
    
        @Value("${name}")
        private String name;
    
        ......  
    }

    在resources目录下新建person.properties文件 

    name=kuangshen

    配置文件占位符

     配置文件还可以编写占位符生成随机数

    person:
        name: xiaoqiang${random.uuid} # 随机uuid
        age: ${random.int}  # 随机int
        happy: false
        birth: 2000/01/01
        maps: {k1: v1,k2: v2}
        lists:
          - code
          - girl
          - music
        dog:
          name: ${person.hello:other}_旺财
          age: 1
  • 相关阅读:
    自我介绍
    目前流行的源程序版本管理软件和项目管理软件的优缺点
    四月是你的谎言
    软件分析(Mobile Apps )--百词斩
    程序扩展
    超级无敌小学四则运算题目程序
    4组 团队展示
    2020面向对象设计与构造 第四单元 & 课程 博客总结
    2020面向对象设计与构造 第三单元 博客总结
    2020面向对象设计与构造 第二单元 博客总结
  • 原文地址:https://www.cnblogs.com/WarBlog/p/15103122.html
Copyright © 2011-2022 走看看