Heim >Java >javaLernprogramm >Wie gibt Springboot an, um die Konfigurationswerte in der YML-Datei zu erhalten?

Wie gibt Springboot an, um die Konfigurationswerte in der YML-Datei zu erhalten?

王林
王林nach vorne
2023-05-15 09:55:121304Durchsuche

Inhalt:

Hier werden zwei Methoden vorgestellt, die beide auf Anmerkungen basieren, nämlich:

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

@ConfigurationProperties(prefix = "xxxxx")

@ConfigurationProperties( prefix = "xxxxx")

Geben Sie das Thema ein:

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

Die Verwendung dieser Methode ist sehr einfach (jede Anmerkung erhält einen entsprechenden Konfigurationswert),

Fügen Sie unsere benutzerdefinierten Konfigurationselemente zum YML hinzu, z. B. (Groß- und Kleinbuchstaben, passen Sie sie beim Aufruf einfach an): Rufen Sie sie normal ab:

Wie gibt Springboot an, um die Konfigurationswerte in der YML-Datei zu erhalten?

@ConfigurationProperties(prefix = "xxxxx")

Es ist auch sehr einfach, diese Methode zu verwenden (mehrere Konfigurationswerte gleichzeitig abrufen, in Beans instanziieren und in den Frühling einfügen). Container),

Wie gibt Springboot an, um die Konfigurationswerte in der YML-Datei zu erhalten?Fügen Sie sie in yml hinzu. Unsere benutzerdefinierten Konfigurationselemente, z. B. (Beachten Sie, dass der Schlüsselparameter am Anfang in Kleinbuchstaben geschrieben ist und es falsch ist, Großbuchstaben zu verwenden, da das Präfix die Benennung in Groß- und Kleinschreibung und die Unterstrichform nicht unterstützt.) :

Dann erstellen wir ein Konfigurationselement für diese Konfigurationselemente-Entitätsklasse und verwenden die Annotation @ConfigurationProperties, wie zum Beispiel:

Präfix bezieht sich auf das Präfix, das in unserem Beispiel im Allgemeinen das erste ist ist myinfo

@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);
    }
Wie gibt Springboot an, um die Konfigurationswerte in der YML-Datei zu erhalten?Gibt an, diese Werte zur Verwendung zu erhalten, was der Verwendung dieser Klasse entspricht. Sie können sie direkt mit @Autowired verwenden:

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

Sie können das Ergebnis sehen und es normal abrufen:

Das obige ist der detaillierte Inhalt vonWie gibt Springboot an, um die Konfigurationswerte in der YML-Datei zu erhalten?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:yisu.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen