Heim  >  Artikel  >  Java  >  Grundlagen der Java-Architektur: Detaillierte Erläuterung der Konfiguration von Spring Cloud YAML und Eigenschaften

Grundlagen der Java-Architektur: Detaillierte Erläuterung der Konfiguration von Spring Cloud YAML und Eigenschaften

php是最好的语言
php是最好的语言Original
2018-08-10 14:55:002449Durchsuche

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>

org.apache.commons

commons-lang3

3.7< ;/version>

Parameterreferenz

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;

Ausgabeergebnis

Zufallszahl

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 Sie

dalao.xiaodi.zhangyang.yanzhi=${random.int(50,100)}

dalao.xiaodi.zhangyang.xinqing =$ {random.value}

Externe Eingabe

Automatische 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 Umgebungskonfiguration

In 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!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn