Heute teile ich Ihnen das Lesen benutzerdefinierter Konfigurationsinformationen mit. In letzter Zeit gibt es Pläne, Blogs zu schreiben, und ich werde Artikel über Springboot und SpringCloud kreuzen, da Springboot voraussichtlich viele Kapitel haben wird, sodass Cloud-Artikel bis lange warten müssen, bevor sie geschrieben werden können. Der Grund für das Teilen dieser beiden Artikel besteht hauptsächlich darin, Ihre Suche nach Informationen zu erleichtern und eine bequeme Rolle für Freunde zu spielen.
•@Value -Tag -Lesung (der Knoten von application.yml kann standardmäßig direkt gelesen werden)
• Entity maping application.ymlknoten
• Entität meldet Knoten für benutzerdefinierte Konfigurationsdateien
• Entität birgt die Werte von Multi-Level-Knoten
@Value Tag Reading (Der Knoten von application.yml kann standardmäßig direkt gelesen werden)
Passen Sie zunächst die folgenden Knoteninformationen in der Konfigurationsdatei "Standard application.yml" an:
Shenniu: Name: Shenniu 003
Anschließend wird der Attributwert direkt über das @Value -Tag erhalten. Um die Daten besser anzuzeigen, ist eine A /Conf /Name -Schnittstelle auf der Schnittstelle definiert:
@Value ("$ {shenniu.name}") privater String -Name; @GetMapping ("/conf/Defname") public String getDefname () {return this.name; }Nach dem Laufen sind die Effekte wie folgt:
Entity Mapping application.ymlknoten
Um den Wert der Standardkonfigurationsdatei mit Entitätsklassen zuzuordnen, müssen Sie nur ein Präfix des Eigenschaftsnamens hinzufügen. Dies gilt natürlich nur für die Eigenschaften in der Datei Standard Application.yml:
@Configuration@configurationProperties (Präfix = "Shenniu") öffentliche Klasse Shenniuconf {private String -Name; public String getName () {return name; } public void setName (String -Name) {this.name = name; } private URL -URL; public url geturl () {return url; } public void seturl (url url) {this.url = url; } private String des; public String getdes () {return Des; } public void setdes (String Des) {this.des = Des; } public statische Klasse URL {private String blogurl; public String getBlogUrl () {return blogurl; } public void setBlogurl (String blogurl) {this.blogurl = blogurl; }}}Ich habe der Entitätsklasse mehrere Eigenschaften hinzugefügt, um spätere Tests zu testen. Um application.yml zu konfigurieren, müssen Sie nur das Tag @ConfigurationProperties (Präfix = "Shenniu") hinzufügen, und der Wert des Präfix entspricht dem Präfix der benutzerdefinierten Konfigurationsdateiattribute. Hier wird die Schnittstelle /Conf /Name hinzugefügt, um den Wert des zugeordneten Objekts auszugeben:
@Autowired Private Shenniuconf Shenniuconf; @Getmapping ("/conf/name") public String getName () {return Shenniuconf.getName (); }Der gleiche Effekt wie @Values -Annotation wird erhalten, was bedeutet, dass die benutzerdefinierten Attribute der Entität und der Konfigurationsdatei erfolgreich übereinstimmen und die Namensnamen der Hauptentitätsattribut mit den Konfigurationsdateiknotennamen übereinstimmen sollten.
Entity maptknoten für benutzerdefinierte Konfigurationsdateien
Es ist sehr einfach, die Eigenschaftswerte in application.yml zu lesen. Manchmal müssen Sie Ihre eigene Konfigurationsdatei anpassen, z. B. My.Properties hier, und der Dateiinhalt ist wie folgt:
shenniu.des = Ich liebe mein Mutterland shenniu.url.blogurl = http: //www.a.com
Die Zuordnungsentität wird weiterhin oben verwendet, aber die Annotation @PropertySource ("ClassPath: my.Properties") muss dem Entität hinzugefügt werden, um die benutzerdefinierte Dateiquelle darzustellen, und das Präfix muss auch das Präfix des Knotens angeben. Wir fügen die folgende Anzeigeschnittstelle hinzu:
@Autowired Private Shenniuconf Shenniuconf; @Getmapping ("/conf/Des") public String getDes () {return Shenniuconf.getDes (); }Entität birgt den Wert von Multi-Level-Knoten
Normalerweise haben benutzerdefinierte Konfigurationsknoten hierarchische Beziehungen. Wie können unsere Entitäten also Attributwerte auf verschiedenen Ebenen erhalten? Tatsächlich muss es nur durch klassen hierarchische Beziehungen in der Entitätsklasse ausgedrückt werden, wie z.
Hier ist eine Testschnittstelle:
@Autowired Private Shenniuconf Shenniuconf; @Getmapping ("/conf/myconf") public shenniuconf getBlogurl () {return Shenniuconf; }Wenn nichts Unerwartetes passiert, können Sie die folgenden Ergebnisse erzielen:
GIT -Adresse: https://github.com/shenniuboxing3 Nuget Publishing -Paket: https://www.nuget.org/profiles/shenniuboxing3
Zusammenfassen
Das obige ist die Methode des Springboot Reading Benutzerdefinierte Konfigurationsdateiknoten, die Ihnen vom Editor vorgestellt wurden. Ich hoffe, es wird Ihnen hilfreich sein. Wenn Sie Fragen haben, hinterlassen Sie mir bitte eine Nachricht. Der Herausgeber wird Ihnen rechtzeitig antworten!