springboot yml配置文件

1. yml简介

# YAML是"YAML Ain't a Markup Language"(YAML不是一种标记语言)的递归缩写。
##  在开发的这种语言时,YAML 的意思其实是:"Yet Another Markup Language"(仍是一种标记语言),
##  但为了强调这种语言以数据做为中心,而不是以标记语言为重点,而用反向缩略语重命名。

# yml语法
# 0. YAML 使用可打印的Unicode字符,可以使用utf-8 utf-16
# 1. 使用 “k: v” 格式表示键值对关系,冒号后面必须有一个空格
# 2. 使用空格(“ ”)缩进表示层级关系,不能使用跳格字符(TAB); 空格数目不重要,只要左对齐的数据,表示都在同一层
# 3. 使用单引号(‘’)双引号(“”) 字符串类型的值 平常不需要使用引号, 有特殊字符需要处理的时候需要加双引号或者单引号
# 4. 使用井号 (#) 表示单行注释
# 5. 使用双感叹号 (!!) 强制指定格式(数据类型)
# 6. 使用三横杆 (---) 分割文档块,表示多个文件
# 7. 使用三点号 (...) 表示文档结尾
# 8. 使用一组横杠(-)或者中括号[]加逗号分割的元素 表示清单列表(数组,list,set)
# 9. 使用大括号({})表示散列表(map 子对象),散列表的键值可以使用问号(?)开头,表示多个词汇组成的键值
# 10. 文档中重复的部分使用锚点符号(&)和引用符号(*),表示将&标注的内容复制引用到*标注的地方
# 11. 区块字符串用缩进和修饰符(非必要)来和其他数据分隔。有新行保留(preserve)使用符号(|);新行折叠(flod)使用符号(>)

2. 使用示例

2.1 application.yml

# 示例如下:
system:
  # 对应数据类型 String(字符串的值直接书写)
  name: \tPC_123345
  # 对应数据类型 String(字符串的值加 单引号)
  name1: '\tPC_123345'
  # 对应数据类型 String(字符串的值 加双引号 可以使用(\)开始的转义字符)
  name2: "\tPC_123345"
  # 区块字符串 不加修饰符
  name3: 
    11
    22
    33
  # 区块字符串 加|
  name4: |
    one
    two
    three
  # 区块字符串 加 >
  name5: >
    一
    二
    三
  # !!str 表示严格的字符串
  address: !!str 127.0.0.1
  # 对应数据类型 Integer
  cpu: 16
  # 对应数据类型 Boolean
  enabled: true
  # 对应数据类型 Date
  createTime: 2020/11/21
  # 宽松绑定原则(root-path与 rootPath都可以绑定到 rootPath属性上)
  root-path: C:\Program Files

  # 对应数据类型 Map 子对象(行内写法)
  display: { name: 显示屏幕一, scalingLayout: 100%, resolution: 1920*1080 }
  # 对应数据类型 数组(行内写法)
  devices: [ 键盘, 鼠标, 显示器 ]
  # 对应数据类型 list set 数组
  users:
    - username: user1
      password: 111111
    - username: user2
      password: 222222
    - { username: user3, password: 333333 } #(行内写法)
  permissions:
    - select
    - delete
    - insert
  userGroups:
    - group1
    - group2

# 系统环境的值
spring:
  profiles:
    active: ${spring.profiles.active}

# 文档块
---
spring:
  config:
    activate:
      on-profile: dev
system:
  desc: 这是开发环境
---
spring:
  config:
    activate:
      on-profile: fat
system:
  desc: 这是测试环境
---
spring:
  config:
    activate:
      on-profile: prod
system:
  desc: 这是生产环境

# ... 表示文档结尾
...

2.2 Java对象

import lombok.Data;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;

import java.util.Date;
import java.util.List;
import java.util.Set;


@Data
@Component
@ConfigurationProperties(prefix = "system")
public class SystemConfig {
    private String name;
    private String name1;
    private String name2;
    private String name3;
    private String name4;
    private String name5;

    private String address;
    private Integer cpu;
    private Boolean enabled;
    private Date createTime;
    private String rootPath;

    private Display display;

    private String[] devices;
    private List<User> users;
    private Set<String> permissions;
    private String[] userGroups;

    private String desc;

    @Value("${spring.profiles.active}")
    private String active;

    @Data
    static class User {
        private String username;
        private String password;
    }

    @Data
    static class Display {
        private String name;
        private String scalingLayout;
        private String resolution;
    }
}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值