如何在springboot里,使用Environment 读取所有application.yml的内容
时间: 2024-02-26 07:56:50 浏览: 242
SpringBoot读取properties或者application.yml配置文件中的数据
你可以通过以下代码读取application.yml的所有内容:
```
@Autowired
private Environment env;
public void getAllProperties() {
Map<String, Object> propertiesMap = new HashMap<>();
for (org.springframework.core.env.PropertySource<?> propertySource : ((AbstractEnvironment) env).getPropertySources()) {
if (propertySource instanceof MapPropertySource) {
propertiesMap.putAll(((MapPropertySource) propertySource).getSource());
}
}
System.out.println(propertiesMap);
}
```
这里通过遍历Environment对象的所有PropertySource,获取到所有的配置文件内容,然后将其存储到一个Map结构中,并输出到控制台上。需要注意的是,这里使用了强制转换将Environment对象转换为AbstractEnvironment对象,这是因为MapPropertySource是AbstractEnvironment的内部类。
阅读全文