• ##Springboot框架--配置文件介绍


    Springboot框架--配置文件介绍


        Spring Boot使用一个全局的配置文件

         • application.properties

          • application.yml

    # 一,路径:
      配置文件放在src/main/resources目录或者类路径/config
    # 二,介绍:
      ymlYAML(YAML Ain't Markup Language)语言的文件,以数据为中心,比json、xml等更适合做配置文件
      • http://www.yaml.org/ 参考语法规范
    # 三, 基本语法:
      – 使用缩进表示层级关系
      – 缩进时不允许使用Tab键,只允许使用空格。
      – 缩进的空格数目不重要,只要相同层级的元素左侧对齐即可
      – 大小写敏感
    # 四,YAML 支持的三种数据结构
      – 对象:键值对的集合
      – 数组:一组按次序排列的值
      – 字面量:单个的、不可再分的值
      对象(Map)
        • 对象的一组键值对,使用冒号分隔。如:username: admin
        • 冒号后面跟空格来分开键值
        • {k: v}是行内写法
      数组
        – 一组连词线(-)开头的行,构成一个数组,[]为行内写法
        – 数组,对象可以组合使用
        – 复合结构。以上写法的任意组合都是可以
      – 字面量
        • 数字、字符串、布尔、日期
        • 字符串
          – 默认不使用引号
          – 可以使用单引号或者双引号,单引号会转义特殊字符
          – 字符串可以写成多行,从第二行开始,必须有一个单空格缩进。换行符会被转为空格。
      – 文档
        • 多个文档用 - - - 隔开
      注意:
        Spring Boot使用 snakeyaml 解析yml文件;
        https://bitbucket.org/asomov/snakeyaml/wiki/Documentation#markdown-header-yamlsyntax 参考语法
        private String name;//字符串格式
        private Integer age;//整数型
        private List<Object> list;//list集合
        private Map<String,Object> map;//map集合
        private Dog dog;//对象
    person:
        name: hello
        age: 18
        map: {k1: v1,k2: 12}
        list:
          - lisi
          - zhaoliu
        dog:
          name: 小狗
          age: 12

      将配置文件中配置的每一个属性的值,映射到这个组件中
        * @ConfigurationProperties:告诉SpringBoot将本类中的所有属性和配置文件中相关的配置进行绑定;
        * prefix = "person":配置文件中哪个下面的所有属性进行一一映射
        * 只有这个组件是容器中的组件,才能容器提供的@ConfigurationProperties功能;

        所以这个注解我们一般加在实体类上

        但是这个时候,我们就会发现报错了,那么需要我们导入一个实体类的配置文件依赖

    <!--导入配置文件处理器,配置文件进行绑定就会有提示-->
            <dependency>
                <groupId>org.springframework.boot</groupId>
                <artifactId>spring-boot-configuration-processor</artifactId>
                <optional>true</optional>
            </dependency>

    # 注意:

    properties配置文件在idea中默认utf-8可能会乱码

  • 相关阅读:
    php实现简单的流程管理
    【百度地图API】如何制作多途经点的线路导航——驾车篇
    利用MFC实现浏览器的定制与扩展(JavaScript与C++交互)
    c++与js脚本交互,C++调用JS函数/JS调用C++函数
    VC/MFC中通过CWebPage类调用javascript函数(给js函数传参,并取得返回值)
    Android中半透明Activity效果另法
    mac java环境
    在Mac osx使用ADT Bundle踩过的坑
    Android自动检测版本及自动升级
    C++编译遇到参数错误(cannot convert parameter * from 'const char [**]' to 'LPCWSTR')
  • 原文地址:https://www.cnblogs.com/liurui-bk517/p/11567534.html
Copyright © 2020-2023  润新知