Home  >  Article  >  Java  >  3 ways for SpringBoot to read yml files

3 ways for SpringBoot to read yml files

WBOY
WBOYforward
2023-06-29 23:25:17972browse


The main ways for Spring Boot to read yml files are as follows:

1.@Value annotation

We can add it to the properties of the bean Use the @Value annotation to directly read the value in yml, such as:

application.yml:

name: Zhangsan

Bean:

public class MyBean {
    @Value("${name}")
    private String name;
}

2.Environment object

We can read the yml value by injecting the Environment object, such as:

@Autowired
private Environment environment;
public void doSomething() {
    String name = environment.getProperty("name");
}

3.@ConfigurationProperties annotation

We can use @ConfigurationProperties Annotations map values ​​in yml to bean properties, such as:

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

We can use YmlPropertySourceFactory to load the yml file, and then read the value like ordinary Properties, such as:

@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 annotation

If there are multiple documents separated by — in the yml file, we can use the @YamlComponent annotation to map each document to a bean, such as:

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; 
}

You can choose 5 main methods according to your needs. Spring Boot can read yml files. yml is the default configuration file format of Spring Boot. Understanding how to manipulate yml files will help us achieve system configuration flexibility.

The above is the detailed content of 3 ways for SpringBoot to read yml files. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:yisu.com. If there is any infringement, please contact admin@php.cn delete