2020-09-14

YAML的用法
 
1.0简介
YAML是“YAML Ain't Markup Language”的缩写 
YAML文件的后缀名为.yml或.yaml
 
1.1语法规则
  • 大小些敏感
  • 使用缩进表示层级关系
  • 缩进时不允许使用Tab键,只能使用空格
  • 缩进的空格数目不重要,只要相同的元素左侧要对齐
  • #表示注释
 
 1.2基本用法
YAML支持的三种数据结构:
  1. 字面量:单个的,不可再分的值
  2. 对象:键值对的集合
  3. 数组:一组按次序排列的值
三种结构的用法:
        1. 字面量:普通的值,如数字、字符串、布尔值
        注意:字符串包含空格或特殊字符,则使用引号引起来,单引号和双引号都可以
        单引号不对字符进行转义,双引号会对字符进行转义
        2. 对象:也称为映射Map,包含属性和值
         #写法1:换行写
        user:
            name:tom
            age:20
            sex:male
         #写法2:行内写
        user:{name:tom,age:20,sex:male}
        3.数组,如List、Set等
        #写法1:一组短横线开头的行
        names:
            - tom
            - jack
            - alice
         #写法2:行内写法
        name:{tom,jack,alice}
 
1.3属性值得注入
     通过加载配置文件,为属性注入值
     1.3.1 使用.yml配置文件
     application.yml文件:
     
user:
    username: admin
    age: 19
    status: true
    birthday: 2020/9/10
    address:
        province: 江西省
        city: 南昌市
    lists:
        - list1
        - list2
        - list3
    maps: {k1: v1,k2: v2}
 
如何使用:User类中进行数据绑定
使用注解  @Component  将目标类添加到容器中
2020-09-14
使用注解 @ConfigurationProperties(prefix="xxx")
将当前类中所有的属性与配置文件中的 xxx进行绑定(默认读取全局配置文件中的值)
 
2020-09-14
 
        1.3.2使用.properties文件
         application.properties文件:
           2020-09-14
 
          注意: 在IDEA中.properties文件默认使用gbk编码,会出现中文乱码
 
        1.3.3使用@Value
         
            properties:
             
             2020-09-14
         
 
 
            User:
            2020-09-14
           
              @Value和@configruation的比较:
  •   @Value只能一个个为属性注入值而@ConfigruationProperties可以批量为属性注入值
  •     @Value不能为复杂属性注入值                    
 
 
    可以添加文件处理器的依赖,编码时会自动提示(可选)
 
2020-09-14
 
多环境配置:
1.application.properties多环境配置
application.properties中配置
先定义另外的配置文件
例如:applicaiton-test.properties
#注意:格式必须是application- xxx .properties
在application.properties中添加下面代码段:
spring.profiles.active=test
#使用方法:spring.profiles.active= xxx
#xxx必须一致
2.application.yml多环境配置
通过  --- 可分割application.yml文档,形成多个文档块
2020-09-14
2020-09-14
文档块内容:
spring:
    profiles: xxx
server:
    prot:9393
 
使用:
在第一个文档块中声明
server:
    port: 8080     #默认端口号
spring:
    profiles:
        active: xxx
文档块内容中的xxx和第一个文档块内容xxx要对应