首页 > 技术文章 > JAVA 读取 YAML 文件

wy919 2021-11-26 19:37 原文

 yaml  文件实例

  config:
    list:
      - {https: https://192.168.177.100/,username: wang}

      - {https: https://192.168.177.101/, age: 19}

注意key: 这地方必须要有一个空格 

 

需要定义一个类 来声明  存放 定义

import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;

import org.springframework.stereotype.Component;

@Data
@Component
@NoArgsConstructor
@AllArgsConstructor
// 配置文件的声明
public class conf {
/**
* Yaml 字段声明
*/
private String https;
private String username;
private String age;

}

然后 把这些声明 添加进列表
@Data
@Component
@NoArgsConstructor
@AllArgsConstructor
@ConfigurationProperties(prefix = "config")

public class ConfigList {
/**
* Yaml 文件配置
*/
private List<conf> list;
}
最后才是拿来使用
// 入口
@ResponseBody
@RestController
public class{
// yaml list配置
@Autowired
private ConfigList config_list;
}


循环调用 多个列表
for (conf  conf_field: config_list.getList()){
System.out.println(conf_field);
}

-------------------------------------------------------------------------------
YAML 内部引用

通过变量引用设置 配置量的【值(value)】
在YAML文件中,一个配置量的值可以通过引用另一个变量来设置

Publicpath: /home/deployer/stress/conf/

logging:
config: ${Publicpath}logback-spring.xml
直接在后面 写上 想要拼接的内容



要想替换键,则需要用到锚点。锚点用符号“&”定义,并用符号“*”进行引用。
锚点有两种使用方式,一是通过“<<:”将键值对一起引入

default-db: &default-db-config
host: 127.0.0.1
port: 3306

user-db:
<<: *default-db-config

结果为:

default-db:
host: 127.0.0.1
port: 3306
user-db:
host: 127.0.0.1
port: 3306


推荐阅读