Spring Cloud ist heutzutage das beliebte verteilte Service -Framework und bietet viele nützliche Komponenten. Zum Beispiel: Konfigurationszentrum, Eureka Service Discovery, Message Bus, Sicherungsmechanismus usw.
Das Konfigurationszentrum ist unter den vielen Komponenten der Federwolke relativ einfach. Es bietet eine einheitliche Verwaltung von Konfigurationsdateien und kann problemlos auf ununterbrochene Umgebungen wechseln.
Seine spezifische Struktur ist wie folgt:
Spring Cloud basiert auf Spring Boot und Spring Cloud ist mit Spring Boot miteinander verbunden, sodass unsere Projekte alle auf Spring Boot basieren.
Normalerweise platzieren wir Konfigurationsdateien auf Git, was für die Versionskontrolle einfach zu verwenden ist. Lassen Sie uns als nächstes über den Bau des Konfigurationszentrums sprechen.
Konfigurationszentrumkonstruktion
Stellen Sie zunächst die Abhängigkeitsgebiete von Spring Boot und Spring Cloud ein:
<DepopyManagement> <abhängigkeiten> <De vorangestellten> <gruppe> org.springFramework <gruppeID> org.springFramework.boot </GroupId> <artifactId> Spring-Boot-Abhängigkeiten </artifactID> <version> 1.9.9.Release </Version> <Typs> POM </type> <scope> import </scope> </abhängig> </abhängig> </abhängig </abhängig </abhängig> </scope> </scope> </abhängig> </abhängig> </abhängig </abhängig </abhängig> </abhängig> </abhängig> </abhängig> </abhängig> </abhängig> </abhängig> </abhängig> </abhängig> </abhängig> </abhängig> </abhängig> </abhängig
Hier müssen wir uns die offizielle Dokumentation genauer ansehen. Die Finchley -Version von Spring Cloud basiert auf Spring Boot 2.0 und kann nicht unter Spring Boot 1.5 arbeiten. Die Edgware -Version basiert auf 1.5 und funktioniert nicht ordnungsgemäß unter 2.0. Jeder sollte darauf achten, um unnötige Schwierigkeiten zu vermeiden.
Hier verwenden wir die Edgware- und Spring -Boot -Version 1.5 von Spring Cloud.
Gießen Sie dann die notwendigen Abhängigkeiten wie folgt ein:
<Depelencies> <Depopentcy> <gruppe> org.springFramework.boot </GroupId> <artifactId> Spring-Boot-Starter-Web </artifactId> </abhängig> <Depopentcy> <GroupId> org.springFramework.cloud </gruppen> <artifactid> Spring-Cloud-Cloud-Config-Server </artifactId> <artifactid>
Schreiben Sie schließlich die Startklasse des Konfigurationszentrums wie folgt:
@SpringBootApplication@ENABLECONFIGSERVERPUBLIC CLASSE CONFIGSERVERAPPLICATION {public static void main (String [] args) {SpringApplication.run (configServerApplication.class, args); }}@EnableConfigServer ist, dass dieser Dienst ein Konfigurationszentrum -Service ist. Die spezifischen Informationen sind in der Datei application.Properties konfiguriert:
#Server port server.port = 9000# Konfigurationsdatei Git-Adresse Spring.cloud.config.server.git.uri = https: //github.com/liubo-tech/spring-cloud-properties# configuration Datei temporäre Dateiverzeichnis Spring.config.Server.git.baDir =/d:/d:/d:/d:/d:/d:/d:/d:/d:/d:/d:/d:/d:/d:/d:/d:/d:/d:/d:/d:/d:/d :-
Jeder versteht den Service -Port und die GIT -Adresse, und das dritte ist das Verzeichnis, in dem temporäre Dateien konfiguriert sind. Nachdem das Konfigurationszentrum aufgerufen wurde, zieht das Konfigurationszentrum die Konfigurationsdatei von Git und spielt sie lokal aus. Dies ist das Verzeichnis für den Konfigurations -Cache und kann auch ohne Konfiguration konfiguriert werden und verwenden den Systemstandard. Auf diese Weise ist das Konfigurationszentrum eingerichtet und der Cluster kann über NGINX erstellt werden, um es hoch verfügbar zu machen.
Zugriff auf Konfigurationsdateiformate sind wie folgt:
/<Application >/eryprofile ·/ <Label] weibs/ <application >-eryprofile>
In:
Client -Anrufe
In der Vergangenheit wurden Konfigurationsdateien in Projekte platziert, was es beim Wechsel verschiedener Umgebungen sehr problematisch machte, und einige sensible Informationen von Konfigurationen waren auch Entwicklern ausgesetzt.
Dies kann mit einem einheitlichen Konfigurationszentrum vermieden werden. Sehen wir uns an, wie der Client es nennt.
Importieren Sie zunächst das JAR -Paket, auf das sich wie folgt verlassen muss:
<Depelencies> <Depopentcy> <gruppe> org.springFramework.boot </GroupId> <artifactId> Spring-Boot-Starter-Web </artifactId> </abhängig> <Depopy
Solange sich das Glas des Spring Cloud -Konfigurationsclients unter dem Klassenpfad des Projekts befindet, wird die Konfiguration aus dem Konfigurationszentrum gestartet, wenn das Projekt startet, und geben Sie das Konfigurationszentrum über die Spring.cloud.config.uri -Eigenschaft in der Bootstrap -Konfigurationsdatei an.
Dadurch verfügt das Projekt des Clients über eine Bootstrap.yml- oder Bootstrap.Properties -Datei, da der Client die Konfigurationsdatei nicht aus dem Konfigurationszentrum lädt.
Wir erstellen wie folgt Bootstrap.properties:
#Configure Die Center -Adresse Spring.cloud.config.uri = http: // localhost: 9000
Geben Sie die Adresse des Konfigurationszentrums an. Im obigen Beispiel geben wir 9000 des Ports des Konfigurationszentrums an. Wir konfigurieren den Namen der Anwendung in der Datei application.Properties:
Spring.Application.Name = EG-Config
Unsere Anwendung heißt "EG-Config". Wenn das Projekt beginnt, wird die EG-Config-Datei aus dem Konfigurationszentrum geladen. Lassen Sie uns als nächstes ein Beispiel erstellen, eine Bohne erstellen und Werte aus dem Konfigurationszentrum injizieren
@ComponentPublic Class MyBean {@Value ("$ {my.name}") privater String -Name; public String getName () {return name; } public void setName (String -Name) {this.name = name; }}Wo Name die Eigenschaft my.name aus dem Konfigurationszentrum lädt. Die Start -up -Klasse lautet wie folgt:
@SpringbootApplicationPublic Class Application {public static void main (string [] args) {configurableApplicationContext applicationContext = SpringApplication.run (application.class, args); // Holen Sie sich die Bean und drucken Sie das Feld des Namens aus mybean bean = applicationContext.getbean (mybean.class); System.out.println (Bean.getName ()); }} Nach dem Start sind die Ergebnisse des Konsolendrucks wie folgt: test
Dies wird im Konfigurationszentrum eingeführt. Weitere Informationen finden Sie im Projekt Beispiel: https://github.com/liubo-tech/spring-cloud-config.
Das obige ist der gesamte Inhalt dieses Artikels. Ich hoffe, es wird für das Lernen aller hilfreich sein und ich hoffe, jeder wird Wulin.com mehr unterstützen.