前端时间,要用Environment中获取内容,但是网上基本上找不到。
需求:在application.yml中,myshelf.test后含有自定义的内容,在Springboot启动时,无法对application.yml中的XXX进行绑定赋值到实体类的属性上。
-application.yml
myshelf:
test:
xxxx
开始
@Autowired
private Environment env;
public JSONObject getEnvTest(){
JSONObject jsonObject = new JSONObject();
MutablePropertySources sources = ((ConfigurableEnvironment )env).getPropertySources();
PropertySource<?> appConfig = sources.get("查看env中的数据源的name");
Map<?,?> m = (Map<?,?>) appConfig.getSource();
for(Map.Entry<?,?> map : m.entrySet()){
String keyStr = map.getKey().toString();
if(keyStr.contains("myshelf.test")){
String valueStr = map.getValue().toString();
jsonObject.put(keyStr,valueStr);
}
}
return jsonObject;
}