zoukankan      html  css  js  c++  java
  • SpringBoot的配置文件

    SpringBoot配置文件类型

      SpringBoot配置文件类型和作用:

        SpringBoot是基于约定的,所以很多配置都有默认值,但如果想使用自己的配置替换默认配置的话,

        就可以使用application*.properties或者application*.yml(application*.yaml)进行配置。
        SpringBoot默认会从Resources目录下加载application*.properties或application*.yml(application*.yaml)文件

      application*.yml配置文件:

        YML文件格式是YAML (YAML Aint Markup Language)编写的文件格式,YAML是一种直观的能够被电脑识别的数据序列化格式,
        并且容易被人类阅读,容易和脚本语言交互,可以被支持YAML库的不同的编程语言程序导入,
        比如: C/C++, Ruby, Python, Java, Perl, C#, PHP等。YML文件是以数据为核心的,比传统的xml方式更加简洁。
        YML文件的扩展名可以使用.yml或者.yaml。

        yml配置文件的语法:

          配置普通数据

            语法: key: value  注意:value之前有一个空格

          配置对象数据

            语法:
              key:
                key1: value1
                key2: value2
            或者:
              key: {key1: value1,key2: value2}

            注意:key1前面的空格个数不限定,在yml语法中,相同缩进代表同一个级别

          配置Map数据

            和上面对象的写法一样

          配置数组(List、Set)数据

            语法:
              key:
                - value1
                - value2
            或者:
              key: [value1,value2]

            集合中的元素是对象形式:
              student:
                - name: zhangsan
                  age: 18
                  score: 100
                - name: lisi
                  age: 28
                  score: 88

            注意:value1与 - 之间存在一个空格

      SpringBoot配置信息的查询:

        SpringBoot的配置文件,主要的目的就是对配置信息进行修改的,但在配置时的key从哪里去查询呢?我们可以查阅SpringBoot的官方文档

          https://docs.spring.io/spring-boot/docs/2.0.1.RELEASE/reference/htmlsingle/#common-application-properties
        配置文件与配置类的属性映射方式:

          1.使用注解@Value映射

            通过@Value注解将配置文件中的值映射到一个Spring管理的Bean的字段上

            application.yml配置如下:

    person:
      name: zhangsan
      age: 18

            测试:

    @RestController
    public class DemoController {
    
        @Value("${person.name}")
        private String name;
        @Value("${person.age}")
        private Integer age;
    
        @RequestMapping("/config")
        public String config() {
            return "name:" + name + " age:" + age;
        }
    }

          2.使用注解@ConfigurationProperties映射:

            通过注解@ConfigurationProperties(prefix="配置文件中的key的前缀")可以将配置文件中的配置自动与实体进行映射

            在启动类需要添加 @EnableConfigurationProperties(DemoController2.class),否则 @ConfigurationProperties(prefix = "person") 会出现红色波浪线警告。

            application.yml配置如下:

    person:
      name: zhangsan
      age: 18

            测试:

    @RestController
    @ConfigurationProperties(prefix = "person")
    public class DemoController2 {
    
        private String name;
        private Integer age;
    
        @RequestMapping("/config2")
        public String config() {
            return "name:" + name + " age:" + age;
        }
    
        public void setName(String name) {
            this.name = name;
        }
    
        public void setAge(Integer age) {
            this.age = age;
        }
    }

            注意:使用@ConfigurationProperties方式可以进行配置文件与实体字段的自动映射,

              但需要字段必须提供set方法才可以,而使用@Value注解修饰的字段不需要提供set方法
            使用此注解会提示 

            可以在pom文件中配置以下执行器,不配置也不影响使用

    <!--@ConfiguaritionProperties的执行器的配置-->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-configuration-processor</artifactId>
                <optional>true</optional>
            </dependency>
  • 相关阅读:
    笔记本电脑处理器(CPU)性能排行榜
    SQL Server 2008管理工具出现 远程过程调用失败0x800706be解决方法
    Installshield使用教程
    区间DP--凸多边形三角剖分
    树形DP--codevs 1380 没有上司的舞会
    DP练习 巡逻
    DP练习 最长上升子序列nlogn解法
    线段树 求区间连乘——hdu 3074 Multiply game
    模拟算法+栈 HDU 1022
    并查集--CSUOJ 1601 War
  • 原文地址:https://www.cnblogs.com/roadlandscape/p/12369670.html
Copyright © 2011-2022 走看看