Spring Cloud est le cadre de service distribué populaire de nos jours, et il fournit de nombreux composants utiles. Par exemple: Centre de configuration, découverte de service Eureka, bus de messages, mécanisme de fusible, etc.
Le centre de configuration est relativement basique parmi les nombreux composants du nuage de printemps. Il fournit une gestion unifiée des fichiers de configuration et peut facilement passer à des environnements ininterrompus.
Sa structure spécifique est la suivante:
Spring Cloud est basé sur Spring Boot, et Spring Cloud est inséparable à partir de Spring Boot, donc nos projets sont tous basés sur Spring Boot.
Nous plaçons généralement des fichiers de configuration sur GIT, qui est facile à utiliser pour le contrôle de version. Ensuite, parlons de la construction du centre de configuration.
Construction du centre de configuration
Tout d'abord, introduisez la dépendance de la dépendance de Spring Boot et Spring Cloud:
<Dependencymanagement> <Dependces> <Dependency> <ProupId> org.springframework.cloud </proupId> <ArtefactId> Spring-Cloud-Dependces </ ArtifactId> <Dersion> Edgware.sr3 </Dero version> <pype> POM </ Type> <POPE> Importation </cope> </sendency> <! -! - Importation Management Dependency Management de Spring Boot - Spring Board - <GroupId> org.springframework.boot </prôdId> <ArtifactId> printemps-boot-dépendances </retifactid> <version> 1.5.9.9release </ version> <pype> pom </pype> <cope> import </cope> </dependency> </peedences> </dendencymanagement>
Ici, nous devons examiner de plus près la documentation officielle. La version Finchley de Spring Cloud est basée sur Spring Boot 2.0 et ne peut pas fonctionner sous Spring Boot 1.5. La version Edgware est basée sur 1,5 et ne fonctionne pas correctement sous 2.0. Tout le monde devrait y prêter attention pour éviter des ennuis inutiles.
Ici, nous utilisons Edgware et Spring Boot de Spring Cloud.
Ensuite, versez les dépendances nécessaires comme suit:
<Dependances> <Dedency> <GroupId> org.springFramework.boot </proupId> <ArtifActid> printemps-boot-starter-web </ artifactid> </dependency> <pependency> <proupId> org.springframework.cloud </proupdid> <etifactive> spring-cloud-config --seler
Enfin, écrivez la classe de début du centre de configuration, comme suit:
@ SpringbootApplication @ perteConfigServerPublic Class configServerApplication {public static void main (String [] args) {SpringApplication.run (configServerApplication.class, args); }}@EnableConfigServer marque que ce service est un service de centre de configuration. Les informations spécifiques sont configurées dans le fichier application.properties:
#Server port server.port = 9000 # Fichier de configuration adresse git printemps.cloud.config.server.git.uri = https: //github.com/liubo-tech/spring-cloud-properties# Fichier de configuration du fichier temporaire Spring.cloud.config.server.git.basedir = / d: / config-repo
Tout le monde comprend le port de service et l'adresse GIT, et le troisième est le répertoire où les fichiers temporaires sont configurés. Une fois le centre de configuration appelé, le centre de configuration tirera le fichier de configuration de Git et le cache localement. Il s'agit du répertoire du cache de configuration, et il peut également être configuré sans configuration et utiliser le système par défaut. De cette façon, le centre de configuration est configuré et le cluster peut être construit via Nginx pour le rendre très disponible.
Les formats de fichiers de configuration d'accès sont les suivants:
/Application }/{profile }@/{Label}dans:
Appels clients
Dans le passé, des fichiers de configuration ont été placés dans des projets, ce qui l'a rendu très gênant lors du changement de différents environnements, et certaines informations sensibles des configurations ont également été exposées aux développeurs.
Cela peut être évité à l'aide d'un centre de configuration unifié, voyons comment le client l'appelle.
Tout d'abord, importez le package JAR sur lequel il faut s'appuyer, comme suit:
<Dependances> <Dedency> <GroupId> org.springFramework.boot </proupId> <ArtifActid> printemps-boot-starter-web </ artifactid> </dependency> <pependency> <proupId> org.springframework.cloud </proupId> <etifactive> Spring-Cloud-Config </ artifactid> </dependence>
Tant que le pot du client Spring Cloud Config est sous le chemin de classe du projet, il obtiendra la configuration du centre de configuration au démarrage du projet et spécifiera le centre de configuration via la propriété Spring.cloud.config.uri dans le fichier de configuration bootstrap.
Cela fait que le projet du client a un fichier bootstrap.yml ou bootstrap.properties, sinon le client ne chargera pas le fichier de configuration du centre de configuration.
Nous créons Bootstrap.properties comme suit:
#Configure l'adresse centrale printemps.cloud.config.uri = http: // localhost: 9000
Spécifiez l'adresse du centre de configuration. Dans l'exemple ci-dessus, nous spécifions 9000 du port du centre de configuration. Nous configurons le nom de l'application dans le fichier application.properties:
printemps.application.name = par exemple
Notre application s'appelle "EG-Config". Lorsque le projet démarre, le fichier EG-Config sera chargé à partir du centre de configuration. Ensuite, faisons un exemple, créons un haricot et injectez des valeurs à partir du centre de configuration
@Componentpublic class myBean {@value ("$ {my.name}") Nom de chaîne privée; public String getName () {Nom de retour; } public void setName (string name) {this.name = name; }}Où le nom chargera la propriété My.name à partir du centre de configuration. La classe de démarrage est la suivante:
@SpringBootApplicationPublic Class Application {public static void main (String [] args) {configurableApplicationContext applicationContext = springApplication.run (application.class, args); // Obtenez le bean et imprimez le champ de nom MyBean Bean = applicationContext.getBean (MyBean.class); System.out.println (bean.getName ()); }} Après le démarrage, les résultats de l'impression console sont les suivants: test
Ceci sera introduit dans le centre de configuration. Pour plus de détails, veuillez vous référer à l'exemple du projet: https://github.com/liubo-tech/spring-cloud-config.
Ce qui précède est tout le contenu de cet article. J'espère que cela sera utile à l'apprentissage de tous et j'espère que tout le monde soutiendra davantage Wulin.com.