Verzeichnis
Detaillierte Erklärung der Spring Cloud YAML-Konfiguration 1
Detaillierte Erklärung der Eigenschaften 2
Benutzerdefinierte Parameter 2
Parameterreferenz 3
Zufallszahl 4
Externe Parameter 4
Mehrere Umgebungskonfiguration 5
YAML6
YAML hat die folgenden Grundregeln: 6
Verwenden Sie YAML, um die Multi-Umgebungskonfiguration abzuschließen 7
Im vorherigen Beispiel haben wir src/main/resources/application.properties verwendet, um unser Projekt zu personalisieren. Dies ist auch so was wir oft verwenden
Aber als Reaktion auf komplexe Geschäftsanforderungen können Multi-Umgebungen und programmgesteuerte Konfigurationen nicht erfüllt werden
Aus diesem Grund stellt uns Spring Cloud eine YAML-Konfigurationsmethode zur Verfügung, um unsere Funktion zu bereichern und vereinfachen unsere Entwicklung und können gleichzeitig Konfigurationsinhalte einfach und klar unterscheiden.
Detaillierte Erläuterung der Eigenschaften
Benutzerdefinierte Parameter
Benutzerdefinierte Parameter ermöglichen es uns, einige Parameter in der Konfigurationsdatei zur Verwendung zu definieren
im Programm Hier verwenden wir Spring-Annotationen, um diese Funktion zu implementieren
Erstellen Sie zunächst eine Entitätsklasse
@Component
public Klasse Dalao {
@Value("${dalao.name}")
private String name;
@ Value("${dalao.yanzhi}")
private String yanzhi;
…..getter setter omitted
@Component Anmerkung:
Instanziiert gewöhnliches Pojo im Spring-Container, was
in der Konfigurationsdatei entspricht Ändern Sie application.propertie und fügen Sie die folgenden Konfigurationsparameter hinzu
dalao.name=mahibing
dalao.yanzhi=100
Benutzerdefinierte Parameter verwenden
Von Spring verwaltete Objekte
Lassen Sie Spring Objekte injizieren. Hierbei ist zu beachten, dass Ihr neues Objekt nicht automatisch vom Spring-Container verwaltet wird Geben Sie uns Attributwerte ein
@Autowired
privat Dalao dalao;
Testdruck
System .out.println(ToStringBuilder.reflectionToString(dalao));
System.out.println(ToStringBuilder.reflectionToString(new Dalao ())); lang3
Pom
< dependency>
Die Parameterwerte in application.propertie können aufeinander verweisen
Ändern wir die vorherige Konfigurationdalao.name=mahibing
dalao.yanzhi=100
dalao.desc=${dalao.name} ist gut Lehrer, bing bu shi yin wei ${dalao.name} de yan zhi = ${dalao.yanzhi}
Add@Value("${dalao. desc}")
privat String desc;
AusgabeergebnisZufallszahl
Für einige spezielle Anforderungen möchten wir nicht, dass der Attributwert auf einen festen Wert festgelegt wird, z. B. eine zufällige Portnummer des Servers, bestimmte Nummern usw. Wir können ${radom} verwenden, um zufällige Werte zu generieren int, long oder string in der Konfiguration
${random.int()} = random int${random.long} = random long
${random. int(50)} = innerhalb von 50 Zufallszahl
${random.int(50,100)} = int zwischen 50~100 Zufallszahl
${random.value} = Zufallszeichenfolge
Verwenden Siedalao.xiaodi.zhangyang.yanzhi=${random.int(50,100)}
dalao.xiaodi.zhangyang.xinqing =$ {random.value}
Externe EingabeAutomatische Betriebs- und Wartungsbereitstellungstools werden häufig in der Microservice-Architektur verwendet. Verwenden Sie diese Tools, um unsere Dienste zu starten
Unser Spring-Boot-Programm verwendet normalerweise Java –jar zum Starten und Ausführen Für die Dienst-Portnummer oder einige andere Werte, die beim Starten des Dienstes ermittelt werden müssen, ob Hardcodierung oder Randomisierung in der Konfiguration können die Anforderungen offensichtlich nicht erfüllt werden
Wir können externe Parameter verwenden, um die benutzerdefinierten Parameter zu ersetzen
Bestimmen Sie beispielsweise vorübergehend den Service-Port:java -jar demo-0.0.1-SNAPSHOT.jar --server.port=60
Das Erscheinungsbild ändert sich gleichzeitig:
java -jar demo -0.0.1-SNAPSHOT.jar --server.port=60 --dalao.xiaodi.zhangyang.yanzhi
Die Verwendung einer externen Konfigurationsmethode ermöglicht es uns, den Dienstport und das Datenbankverbindungskennwort zu ändern, wenn der Dienst gestartet wird ., benutzerdefinierte Attributwerte usw.
Mehrere UmgebungskonfigurationIn der tatsächlichen Entwicklung kann unser Codesatz auf mehreren Servern wie Entwicklung, Test und Produktion gleichzeitig bereitgestellt werden. Personalisierte Konfigurationen wie Datenbankkennwörter sind in jeder Umgebung unvermeidlich, obwohl wir daran gewöhnt sind Ersetzen Sie Attributwerte vorübergehend, wenn der Dienst durch automatisierte Betriebs- und Wartungsbereitstellung gestartet wird. Dies bedeutet jedoch auch erhöhte Betriebs- und Wartungskosten.
Wir können mehrere Konfigurationssätze verwenden, um die Änderung verschiedener Konfigurationsattribute für verschiedene Umgebungen zu vermeiden
Verwendung:
Erstellen Sie zunächst mehrere Sätze von Konfigurationsdateien
Die Benennungsregeln lauten:
Application-*,properties
Application-dev,properties = Entwicklungsumgebung
Application-test,properties= Testumgebung
Application-prod,properties=Generation Environment
Als nächstes stellen wir den Schalter in application.properties ein, welcher Konfigurationssatz wirksam wird
Verwenden Sie spring.profiles.active=dev
Wenn wir Java –jar zum Starten des Dienstes verwenden, können wir die gesamte Konfiguration über externe Parameter ändern
java -jar demo-0.0.1-SNAPSHOT.jar -- spring.profiles.active= test
YAML
YAML ist die fremdsprachige Abkürzung für „YAML Ain't Markup Language. YAML ist keine Markup-Sprache“
Aber um Betonen Sie dies. Die Sprache konzentriert sich auf Daten, anstatt sich auf die Auszeichnungssprache zu konzentrieren, und wird mit zurück zu den Grundlagen stehenden Wörtern umbenannt. Es handelt sich um ein intuitives Datenserialisierungsformat, das von Computern erkannt werden kann. Es handelt sich um eine Programmiersprache, die für Menschen leicht lesbar ist. Sie lässt sich leicht mit Skriptsprachen interagieren und wird zum Ausdrücken von Datensequenzen verwendet.
Es handelt sich um eine Datenbeschreibungssprache ähnlich wie XML, eine Teilmenge der Standard Universal Markup Language, und ihre Syntax ist viel einfacher als XML.
YAML hat die folgenden Grundregeln:
1. Groß- und Kleinschreibung beachten
2. Verwenden Sie Einrückungen, um hierarchische Beziehungen anzuzeigen
3 , Es ist verboten, Tab-Einrückungen zu verwenden, es kann nur die Leertaste verwendet werden
4. Es gibt keine Begrenzung für die Einrückungslänge. Solange die Elemente ausgerichtet sind, bedeutet dies, dass diese Elemente zum selben gehören Ebene.
5. Verwenden Sie #, um Kommentare anzugeben
6. Zeichenfolgen können ohne Anführungszeichen markiert werden
Verwenden Sie YAML, um die Konfiguration mehrerer Umgebungen abzuschließen
Methode 1:
Einzelne YML-Datei mit mehreren Eigenschaftendateien
Methode 2:
Alle Variablen konfigurieren in einer einzigen YML-Datei
Verwandte Empfehlungen:
Einführung in die Konfigurationsänderungskonfigurationsmethode des Spring Cloud-Tutorials
Spring , Spring MVC, MyBatis-Integrationsdateien Konfigurationsdetails
Das obige ist der detaillierte Inhalt vonGrundlagen der Java-Architektur: Detaillierte Erläuterung der Konfiguration von Spring Cloud YAML und Eigenschaften. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!