无名商城论坛

搜索
查看: 232|回复: 0

[其他技术] 【LSP】Spring Boot第二弹,配置文件怎么造?

[复制链接]

1万

主题

1万

帖子

3万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
32464
发表于 2022-5-8 17:03:47 | 显示全部楼层 |阅读模式

自从用了Spring Boot,个人最喜欢的就是Spring Boot的配置文件了,和Spring比起,Spring Boot更加灵活,修改的某些配置也是更加得心应手。

Spring Boot 官方提供了两种常用的配置文件格式,分别是properties、YML格式。相比于properties来说,YML更加年轻,层级也是更加分明。

今天这篇文章就来介绍一下Spring Boot的配置文件的语法以及如何从配置文件中取值。

properties格式简介
常见的一种配置文件格式,Spring中也是用这种格式,语法结构很简单,结构为:key=value。具体如下:

userinfo.name=myjszl
userinfo.age=25
userinfo.active=true
userinfo.created-date=2018/03/31 16:54:30
userinfo.map.k1=v1
userinfo.map.k2=v2
上述配置文件中对应的实体类如下:

@Data
@ToString
public class UserInfo {
    private String name;
    private Integer age;
    private Boolean active;
    private Map<String,Object> map;
    private Date createdDate;
    private List<String> hobbies;
}
结构很简单,无非就是key=value这种形式,也是在开发中用的比较多的一种格式。

YML格式简介
以空格的缩进程度来控制层级关系。空格的个数并不重要,只要左边空格对齐则视为同一个层级。注意不能用tab代替空格。且大小写敏感。支持字面值,对象,数组三种数据结构,也支持复合结构。

字面值:字符串,布尔类型,数值,日期。字符串默认不加引号,单引号会转义特殊字符。日期格式支持yyyy/MM/dd HH:mm:ss

对象:由键值对组成,形如 key空格)value 的数据组成。冒号后面的空格是必须要有的,每组键值对占用一行,且缩进的程度要一致,也可以使用行内写法:{k1: v1, ....kn: vn}

数组:由形如 -(空格)value 的数据组成。短横线后面的空格是必须要有的,每组数据占用一行,且缩进的程度要一致,也可以使用行内写法:[1,2,...n]

复合结构:上面三种数据结构任意组合

如何使用
在src/resources文件夹下创建一个application.yml文件。支持的类型主要有字符串,带特殊字符的字符串,布尔类型,数值,集合,行内集合,行内对象,集合对象这几种常用的数据格式。

具体的示例如下:

userinfo:
    age: 25
    name: myjszl
    active: true
    created-date: 2018/03/31 16:54:30
    map: {k1: v1,k2: v2}
    hobbies:
      - one
      - two
      - three
上述配置文件对应的实体类如下:

@Data
@ToString
public class UserInfo {
    private String name;
    private Integer age;
    private Boolean active;
    private Map<String,Object> map;
    private Date createdDate;
    private List<String> hobbies;
}
总结
YML是一种新式的格式,层级鲜明,个人比较喜欢使用的一种格式,注意如下:

字符串可以不加引号,若加双引号则输出特殊字符,若不加或加单引号则转义特殊字符
数组类型,短横线后面要有空格;对象类型,冒号后面要有空格
YAML是以空格缩进的程度来控制层级关系,但不能用tab键代替空格,大小写敏感
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

快速回复 返回顶部 返回列表