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;