码迷,mamicode.com
首页 > 其他好文 > 详细

配置文件详细讲解

时间:2018-10-31 17:05:27      阅读:175      评论:0      收藏:0      [点我收藏+]

标签:port   中心   lang   键值对   aml   class   脚本   固定   code   

一、配置文件

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

  • application.properties
  • application.yml

配置文件的作用:修改SpringBoot自动配置的默认值;SpringBoot在底层都给我们自动配置好;

YAML(YAML Ain’t Markup Language)

YAML是“YAML不是一种标记语言”的外语缩写 [1] (见前方参考资料原文内容);但为了强调这种语言以数据做为中心,而不是以置标语言为重点,而用返璞词重新命名。它是一种直观的能够被电脑识别的数据序列化格式,是一个可读性高并且容易被人类阅读,容易和脚本语言交互,用来表达资料序列的编程语言。

标记语言

以前的配置文件;大多都使用的是 xxxx.xml文件;

YAML:以数据为中心,比json、xml等更适合做配置文件;

YAML:配置例子

        

server:
    port: 8080

 

 

如果是xml:

<server>
    <port>8080</port>
</server>

二、YAML语法介绍

1、基本语法

k:(空格)v:表示一对键值对(空格必须有)

以空格的缩进来控制层级关系;只要是左对齐的一列数据,都是同一个层级的

1 server:
2     port: 8080
3     path: /hello

 

属性和值也是大小写敏感;

2、值的写法

  字面量:普通的值(数字,字符串,布尔)

  k: v:字面直接来写; 
  字符串默认不用加上单引号或者双引号

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

  • name: "sihai\n lisi"

     输出: sihai换行 lisi”:单引号:会转义特殊字符,特殊字符最终只是一个普通的字符串数据

  2)”:单引号:会转义特殊字符,特殊字符最终只是一个普通的字符串数据

  •   
    name: ‘sihai\n lisi‘
    输出;sihai\n lisi

  对象、Map属性和值)(键值对)

  k: v:在下一行来写对象的属性和值的关系;注意缩进 ,对象还是k: v的方式

  • user:
        name: sihai
        age: 20

     行内写法:

  • user: {name: sihai, age: 18}

     

  数组(List、Set)

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

  • pets:
     - cat
     - dog
     - pig

     行内写法:

  • pets: [cat,dog,pig]

     

 


三、配置文件值注入

配置文件

  • user:
        name: sihai
        age: 20
        lists:
            - lisi
            - zhangsan
        pig:
            name: 小猪
            age: 10

     

在javabean中的使用:

  • /**
    * 将配置文件中配置的每一个属性的值,映射到这个组件中
    * 
    * @ConfigurationProperties:告诉SpringBoot将本类中的所有属性和配置文件中相关的配置进行绑定;
    * 
    * prefix = "person":配置文件中哪个下面的所有属性进行一一映射
    *
    * 只有这个组件是容器中的组件,才能容器提供的@ConfigurationProperties功能;
    *
    */
    @Component
    @ConfigurationProperties(prefix = "user")
    public class User{
        private String name;
        private int age;
    
        private List<Object> lists;
        private Pig pig;
    }

     另外,我们可以导入配置文件处理器,以后编写配置就有提示了。

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

     

    1、properties配置文件在idea中默认utf-8乱码解决技术分享图片

技术分享图片

 

 

2、@Value获取值和@ConfigurationProperties获取值比较
@ConfigurationProperties@Value
功能 批量注入配置文件中的属性
松散绑定(松散语法) 支持
SpEL 不支持
JSR303数据校验 支持
复杂类型封装 支持 不支持

配置文件详细讲解

标签:port   中心   lang   键值对   aml   class   脚本   固定   code   

原文地址:https://www.cnblogs.com/guchunchao/p/9883763.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!