SpringBoot读取yml文件有哪几种方式
springboot读取yml文件有哪几种方式
本文讲解"springboot读取yml文件有哪几种方式",希望能够解决相关问题。
spring boot读取yml文件的主要方式有以下几种:
1.@value注解
我们可以在bean的属性上使用@value注解,直接读取yml中的值,如:
application.yml:
name: zhangsan
bean:
public class mybean {
@value("${name}")
private string name;
}2.environment对象
我们可以通过注入environment对象来读取yml值,如:
@autowired
private environment environment;
public void dosomething() {
string name = environment.getproperty("name");
}3.@configurationproperties注解
我们可以使用@configurationproperties注解将yml中的值映射到bean的属性上,如:
application.yml:
my: name: zhangsan age: 18
bean:
@component
@configurationproperties(prefix = "my")
public class myprops {
private string name;
private int age;
// getter and setter
}4.ymlpropertysourcefactory
我们可以使用ymlpropertysourcefactory来加载yml文件,然后像普通properties一样读取值,如:
@bean
public static propertysourcesplaceholderconfigurer properties() {
yamlpropertiesfactorybean factory = new yamlpropertiesfactorybean();
factory.setresources(new classpathresource("application.yml"));
factory.getobject().foreach((k, v) -> system.out.println(k + ": " + v));
return factory;
}5.@yamlcomponent注解
如果yml文件中用—分隔了多个文档,我们可以使用@yamlcomponent注解将每份文档映射到一个bean上,如:
application.yml:
my: name: zhangsan --- my: name: lisi
beans:
@component("first")
@yamlcomponent(value = "my.first")
public class firstprops {
private string name;
}
@component("second")
@yamlcomponent(value = "my.second")
public class secondprops {
private string name;
}这就是spring boot读取yml文件的主要5种方式,可以根据需要选择使用。yml作为spring boot默认的配置文件格式,理解如何操纵yml文件将有助于我们实现系统配置的灵活性。
关于 "springboot读取yml文件有哪几种方式" 就介绍到此。希望多多支持硕编程。


