Home > Java > javaTutorial > body text

3 ways for SpringBoot to read yml files

WBOY
Release: 2023-06-29 23:25:17
forward
978 people have browsed it


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
Copy after login

Bean:

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

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");
}
Copy after login

3.@ConfigurationProperties annotation

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

application.yml:

my: 
    name: Zhangsan
    age: 18
Copy after login

Bean:

@Component 
@ConfigurationProperties(prefix = "my")
public class MyProps {
    private String name;
    private int age;
    // getter and setter
}
Copy after login

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; 
}
Copy after login

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
Copy after login

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; 
}
Copy after login

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!

Related labels:
yml
source:yisu.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template