pom.xml
<? xml version = "1.0" encoding = "UTF-8"?>
<project xmlns = "http://maven.apache.org/POM/4.0.0" xmlns: xsi = "http://www.w3.org/2001/XMLSchema-instance"
xsi: schemaLocation = "http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion> 4.0.0 </modelVersion>
<groupId> com.sino.microservice </groupId>
<artifactId> appw </artifactId>
<version> 0.0.1-SNAPSHOT </version>
<name> appw </name>
<description> Projet de démonstration pour Spring Boot </description>
<propriétés>
<java.version> 1.8 </java.version>
<project.build.sourceEncoding> UTF-8 </project.build.sourceEncoding>
<maven.compiler.source> 8 </maven.compiler.source>
<maven.compiler.target> 8 </maven.compiler.target>
<spring.boot.version> 2.3.2.RELEASE </spring.boot.version>
<spring.cloud.alibaba.version> 2.2.3.RELEASE </spring.cloud.alibaba.version>
</properties>
<! - Définir la version de démarrage Srping et la version cloud d'alibaba ->
<dependencyManagement>
<dépendances>
<dépendance>
<groupId> org.springframework.boot </groupId>
<artifactId> dépendances de spring-boot </artifactId>
<version> $ {spring.boot.version} </version>
<type> pom </type>
<scope> importation </scope>
</dependency>
<dépendance>
<groupId> com.alibaba.cloud </groupId>
<artifactId> dépendances-spring-cloud-alibaba </artifactId>
<version> $ {spring.cloud.alibaba.version} </version>
<type> pom </type>
<scope> importation </scope>
</dependency>
</dependencies>
</dependencyManagement>
<dépendances>
<dépendance>
<groupId> org.springframework.boot </groupId>
<artifactId> spring-boot-starter-web </artifactId>
</dependency>
<dépendance>
<groupId> org.springframework.boot </groupId>
<artifactId> test de démarrage de ressort </artifactId>
</dependency>
<! - Dépendances que le registre doit introduire ->
<dépendance>
<groupId> com.alibaba.cloud </groupId>
<artifactId> spring-cloud-starter-alibaba-nacos-discovery </artifactId>
</dependency>
<! - Dépendances que le centre de configuration doit introduire ->
<dépendance>
<groupId> com.alibaba.cloud </groupId>
<artifactId> spring-cloud-starter-alibaba-nacos-config </artifactId>
</dependency>
</dependencies>
<build>
<finalName> appw </finalName>
<pluginManagement> <! - verrouille les versions des plugins pour éviter d'utiliser les valeurs par défaut de Maven (peut être déplacé vers le pom parent) ->
<plugins>
<plugin>
<artifactId> maven-clean-plugin </artifactId>
<version> 3.1.0 </version>
</plugin>
<! - voir http://maven.apache.org/ref/current/maven-core/default-bindings.html#Plugin_bindings_for_war_packaging ->
<plugin>
<artifactId> maven-resources-plugin </artifactId>
<version> 3.0.2 </version>
</plugin>
<plugin>
<artifactId> maven-compiler-plugin </artifactId>
<version> 3.8.0 </version>
</plugin>
<plugin>
<artifactId> maven-surefire-plugin </artifactId>
<version> 2.22.1 </version>
</plugin>
<plugin>
<artifactId> maven-war-plugin </artifactId>
<version> 3.2.2 </version>
</plugin>
<plugin>
<artifactId> maven-install-plugin </artifactId>
<version> 2.5.2 </version>
</plugin>
<plugin>
<artifactId> maven-deploy-plugin </artifactId>
<version> 2.8.2 </version>
</plugin>
</plugins>
</pluginManagement>
</build>
</project>
bootstrap.properties
# bootstrap est chargé par le Spring ApplicationContext parent. Le ApplicationContext parent est chargé avant d'utiliser l'application.
# Lors de l'utilisation de Spring Cloud, les informations de configuration sont généralement chargées à partir du serveur de configuration. Afin d'obtenir des informations de configuration (telles que les mots de passe, etc.), vous avez besoin d'une configuration précoce ou de démarrage.
# Par conséquent, placez les informations du serveur de configuration dans bootstrap pour charger les informations de configuration réellement nécessaires
server.port = 8070
spring.application.name = configuration-consommateur
#Configuration de l'adresse du centre d'enregistrement
spring.cloud.nacos.discovery.server-addr = 127.0.0.1: 8848
#Configuration de l'adresse du centre de configuration
spring.cloud.nacos.config.server-addr = 127.0.0.1: 8848
#Définir l'environnement en tant que dev
spring.profiles.active = dev
#Définissez le suffixe du fichier de configuration comme .properties, dataId = $ {spring.application.name} - $ {spring.profiles.active} .properties
spring.cloud.nacos.config.file-extension = propriétés
Les fichiers #Configuration sont regroupés par défaut comme DEFAULT_GROUP
spring.cloud.nacos.config.group = Dev
TestNacosControl.java
package com.sino.microservice.appw.ctrl;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
import javax.annotation.PostConstruct;
@RestController
@RefreshScope
public class TestNacosControl {
@Value ("$ {test.nacos}")
private String testNacos;
@PostConstruct
public void printNacosConfig () {
System.out.println ("La configuration obtenue de Nacos est:" + testNacos);
}
@RequestMapping ("/ test-nacos")
public String getTestNacos () {
return testNacos;
}
}
AppwStarter.java
package com.sino.microservice.appw;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
classe publique AppwStarter {
public static void main (String [] args) {
System.out.println ("bonjour Appw");
System.setProperty ("ignoreUnresolvablePlaceholders", "true");
SpringApplication.run (AppwStarter.class, args);
}
}