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

下一节:java的预定义class对象的方法

java编程技术

相关文章