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>
  • 相关阅读:
    关于C++中的友元函数的总结
    一个使用动态链接库资源出错的难题
    如何在对话框中实现文件拖放功能
    VS2005设置可以在Release模式下调试 .
    6 Tips for Managing Property Files with Spring
    Linux命令行下SSH端口转发设定笔记_leo_百度空间
    Array properties in Spring Framework
    关于前端产品呈现形态及早期推进
    不要等离别的再珍惜,过好每一天啊
    Django snippets: uuid model field
  • 原文地址:https://www.cnblogs.com/roadlandscape/p/12369670.html
Copyright © 2011-2022 走看看