Java 读取yml文件数据并使用

1,文件位置

在这里插入图片描述

2,文件内容

application.yml


spring:
  profiles:
    active: dev
    include: common

application-common.yml


unit:
  relationMap:
    UNIT_1: 01,
    UNIT_2: 02,03
    UNIT_3: 04,
    UNIT_4: 01,
    UNIT_5: 03,04

3,配置


@Data
@Configuration
@ConfigurationProperties(prefix = "unit")
public class UnitMapConfig {

    /**
     * 从配置文件中读取的limitSizeMap开头的数据
     * 注意:名称必须与配置文件中保持一致
     */
    private Map<String, String> relationMap = new HashMap<>();

}

4,使用


@Autowired
private UnitMapConfig unitMapConfig;

//方法内调用,即可获取application-common.yml文件内的数据
Map<String, String> relationMap = unitMapConfig.getRelationMap();
    

5,感想

说实话,第一次看见这种写法,觉得很新奇,于是跟大佬商讨了一下,问他关于这方面更多的知识,
但是大佬说,这种写法完全没有必要,建议还是把yml里面的数据保存到数据库然后查询再调用就行。
我不服,总觉得存在一种非要使用它的场景。
猜测当系统需要在全局中使用一个固定对象时,可能会使用这种写法吧!

ps:一般的变量的获取使用**@Value**
默认值admin

@Value(“${default.username:admin}”)
private String defaultUserName;

其他不错的文章:https://www.cnblogs.com/vegetableDD/p/11968261.html

你可能感兴趣的:(Java,java,开发语言)