Home > Java > javaTutorial > body text

How does Springboot specify to obtain the configuration values ​​​​in the yml file?

王林
Release: 2023-05-15 09:55:12
forward
1243 people have browsed it

Content:

Here are two methods introduced, both of which are based on annotations. They are:

@Value("${xxxxx.xx}")

@ConfigurationProperties(prefix = "xxxxx")

Enter the topic:

@Value("${xxxxx.xx}")

Using this method is very simple (each annotation gets a corresponding configuration value),

Add our custom configuration items in the yml, such as (uppercase or lowercase, please match it when calling) Just fine):

How does Springboot specify to obtain the configuration values ​​​​in the yml file?

Specify to obtain these values ​​for use, such as:

@Value("${myKey.tua}")
    private  String tuaKey;
    @Value("${myKey.aco}")
    private  String acoKey;
    @Value("${mynum.new}")
    private  String myNum;
 
    @GetMapping("/getMyTest")
    public void getMyTest(){
 
        System.out.println("tuaKey:"+tuaKey);
        System.out.println("acoKey:"+acoKey);
        System.out.println("myNum:"+myNum);
    }
Copy after login

You can see the result and obtain it normally:

How does Springboot specify to obtain the configuration values ​​​​in the yml file?

@ConfigurationProperties(prefix = "xxxxx")

It is also very simple to use this method (obtain multiple configuration values ​​at one time and instantiate them into beans and put them into the spring container),

Add our custom configuration items in yml, such as (note that the key parameter at the beginning should be in lowercase, and it will be wrong to use uppercase, because prefix does not support camel case naming and underscore form):

How does Springboot specify to obtain the configuration values ​​​​in the yml file?

Then we build an entity class for these configuration items and use the annotation @ConfigurationProperties, such as:

prefix refers to the prefix, which is usually the first one. We The first one in this example is myinfo

import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.stereotype.Component;
 
/**
 * @Author : JCccc
 * @CreateTime : 2020/5/19
 * @Description :
 **/ 
 
@Component
@ConfigurationProperties(prefix = "myinfo")
public class MyInfo {
 
    private String name;
    private Integer age;
    private String description;
 
    @Override
    public String toString() {
        return "MyTest{" +
                "name="" + name + """ +
                ", age=" + age +
                ", description="" + description + """ +
                "}";
    }
 
    public String getName() {
        return name;
    }
 
    public void setName(String name) {
        this.name = name;
    }
 
    public Integer getAge() {
        return age;
    }
 
    public void setAge(Integer age) {
        this.age = age;
    }
 
    public String getDescription() {
        return description;
    }
 
    public void setDescription(String description) {
        this.description = description;
    }
}
Copy after login

specifies to obtain these values ​​for use, which is equivalent to using this class and directly using it with @Autowired:

@Autowired
    MyInfo myInfo;
 
    @GetMapping("/getMyTest")
    public void getMyTest(){
 
        System.out.println("myInfo:"+myInfo.toString());
        System.out.println("myInfo name:"+myInfo.getName());
    }
Copy after login

You can see the results, Get normal:

How does Springboot specify to obtain the configuration values ​​​​in the yml file?

The above is the detailed content of How does Springboot specify to obtain the configuration values ​​​​in the yml file?. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
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
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!