SpringBoot2.X sur le sujet du microservice intègre Nacos comme centre de configuration

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);

    }

}


Je suppose que tu aimes

Origine blog.51cto.com/14960630/2572003
conseillé
Classement