Java – Yaml格式文件

简介

Yaml 文件是一种数据格式文件,它和XML与Properties文件相似,是一种重数据轻格式的数据文本保存格式。Yaml文件格分为Yml文件和Yaml文件。

 

Yaml语法规则

与Properties和XML的数据格式比较

单个字段数据

XML
<name>张三</name>
<age>20</age>

Properties
name=张三
age=20

Yaml
name: 张三
age: 20

 

嵌套字段数据

XML
<users>
    <name>张三</name>
    <age>20</age>
<users>

Properties
users.name=张三
users.age=20

Yaml
users: 
  name: 张三
  age: 20

 

数组数据

Yaml

users: 
  - user1
  - user2
  - user3

简写
users: [user1, user2, user3]

 

对象数据

Yaml

users: 
  - user:
       name: 张三
       age: 20
  - user:
       name: 李四
       age: 21
  - user:
       name: 王五
       age: 22

也可以把【-】号单独一行
users: 
  - 
    user:
       name: 张三
       age: 20
  - 
    user:
       name: 李四
       age: 21
  - 
    user:
       name: 王五
       age: 22

简写
users: [{name:张三, age:20}, {name:李四, age:21}, {name:王五, age:22}]

 

数据类型

boolean: true  # TRUE,True,true,FALSE,false,False均可
float: 3.14 # 支持科学计数法 如 6.8435531e+5
int: 123  # 支持二进制、八进制、十六进制
null: ~  # 使用 ~ 表示 null
string: HelloWorld  # 字符串可以直接书写
string: "Hello World"  # 可以使用双引号包裹特殊字符
注意:加双引号的字符串支持 "\" 转义
data: 2023-01-24  #  日期必须使用 yyyy-MM-dd 格式
datatime: 2022-01-24T16:32:22+08:00  # 时间和日期之间使用T连接,最后使用+代表时区

 

数据引用

对文件中的数组进行引用

baseDir: C:\windows

# 对 baseDir 属性的引用
tempDir: ${baseDir}\Temp
systemDir: ${baseDir}\system32

 

 

读取数据

使用 @Value  注解读取单个数据,属性名引用方式 ${}

单个数据

    @Value("${name}")
    private String nameProp;

 

嵌套数据

    @Value("${user.name}")
    private String nameProp;

 

数组数据

    @Value("${list[1]}")
    private String likeProp;

 

对象数据

    @Value("${list[1].user.name}")
    private String nameProp;

 

读取整个文档数据

通过SpringBoot提供的类Environment@Autowired 自动装配的方式把整个配置文档加载到对象中

@Autowired
private Environment environment;

// 读取属性数据
environment.getProperty("users[1].name");

 

读取文档中的部分数据

通过Spring的Bean管理时,实际上配置文件已一个Bean的形式被加载进来,通过创建一个类用于保存这些配置。

Yaml 文件
datasource: 
    driver: com.mysql.jdbc.Driver
    url: jdbc:mysql://localhost/springbootDB
    username: root
    password: root

我们可以创建一个Bean类,其属性与配置文件中的属性一致

/**
 * 使用 lombok 包自动创建get set 方法
 * @Data 自动创建 get set 方法
 * @NoArgsConstructor 自动创建无参构造
 * @AllArgsConstructor 自动创建有参构造
 */
@Data
@NoArgsConstructor
@AllArgsConstructor
/**
 * 要使Spring管理这个类,需要使这个类变成 Bean
 */
@Component

/**
 * @ConfigurationProperties
 * 作用是读取 SpringBoot 配置文件中的某个字段,并把相应的字段数据存入到这个Bean类中
 */
@ConfigurationProperties("datasource")
public class MyDatasource {

    private String driver;
    private String url;
    private String username;
    private String password;
}

 

通过自动装配,把配置数据存入Bean类中

    @Autowired
    private MyDatasource datasource;

 

如果您喜欢本站,点击这儿不花一分钱捐赠本站

这些信息可能会帮助到你: 下载帮助 | 报毒说明 | 进站必看

修改版本安卓软件,加群提示为修改者自留,非本站信息,注意鉴别

THE END
分享
二维码
打赏
海报
Java – Yaml格式文件
简介 Yaml 文件是一种数据格式文件,它和XML与Properties文件相似,是一种重数据轻格式的数据文本保存格式。Yaml文件格分为Yml文件和Yaml文件。   Yaml语法规则 与Properties和XML的数据……
<<上一篇
下一篇>>