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文件有哪几种方式" 就介绍到此。希望多多支持硕编程。