Heim  >  Artikel  >  Java  >  So lösen Sie das Problem der Verwendung von @Value in springBoot

So lösen Sie das Problem der Verwendung von @Value in springBoot

王林
王林nach vorne
2023-05-14 18:55:061444Durchsuche

Probleme bei der Verwendung von @Value zum Abrufen von Werten

Im SpringBoot-Projekt schreiben wir normalerweise einige Pfade oder Ressourcen in die Konfigurationsdatei, um die Verwaltung zu erleichtern.

Beim Erhalt kann es jedoch zu Problemen kommen.

file.uploadFolder=E://upload/

1. Definieren Sie im Allgemeinen ein Feld

Verwenden Sie oben @Value("${name}"), um den Wert zu erhalten

@Value("${file.uploadFolder}")
    private String uploadFolder;

2 es in der Tool-Klasse

Aber das Feld wird durch Static geändert, um eine statische Variable zu werden. Mit dieser Methode können wir den Wert nicht erhalten, und was wir erhalten, ist null.

Also müssen wir die Art und Weise ändern, wie wir den Wert ermitteln, wie unten gezeigt. Denken Sie daran, in der Set-Methode kein statisches Attribut zu verwenden! ! !

private static String uploadFolder;
public static String getUploadFolder() {
        return uploadFolder;
    }
    @Value("${file.uploadFolder}")
    public  void setUploadFolder(String uploadFolder) {
        Base64Utils.uploadFolder = uploadFolder;
    }

3. Fügen Sie der Tool-Klasse am besten @Component oder andere Anmerkungen hinzu

, damit sie bis zum Frühjahr verwaltet werden kann.

Erinnern Sie sich an den Oolong, der aufgetreten ist, als SpringBoot @Value verwendet hat.

Sehen Sie sich zuerst den Code an.

Dann verwenden Sie es bei Bedarf wie folgt

server.port=8007
#mysql配置
url=jdbc:mysql://localhost:3306/lzy_zyg?useUnicode=true&characterEncoding=UTF-8
username=root
password=root

Bei der Verwendung tritt ein sehr seltsames Problem auf, d immer gemeldet. Und der Benutzername ist nicht root.

Schließlich habe ich dbUName ausgedruckt und festgestellt, dass

es überhaupt nicht root war, sondern mein Hostname!

Denken Sie hier also daran, den Namen Benutzername in der Datei application.properties nicht anzupassen, da Sie sonst nicht die gewünschten Ergebnisse erhalten.

Das obige ist der detaillierte Inhalt vonSo lösen Sie das Problem der Verwendung von @Value in springBoot. 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