Nacos 注册中心与配置中心整合SpringCloud

1. Nacos 注册中心和 SpringCloud整合

1.1 在父工程中添加依赖

<!-- 添加springboot的parent依赖-->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.4.RELEASE</version>
        <relativePath/>
    </parent>

    <!--
        集中定义依赖组件版本号,但不引入
        在子工程中用到声明的依赖时,可以不加入依赖的版本号
        这样可以统一管理工程中用到的依赖版本
    -->
    <properties>
        <spring-cloud.version>Hoxton.SR1</spring-cloud.version>
    </properties>

    <dependencyManagement>
        <dependencies>
            <!-- 管理了所有子工程中的springcloud的组件的版本号-->
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
           
            <!--nacos配置中心客户端-->
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
                <version>2.2.1.RELEASE</version>
            </dependency>
            <!--nacos服务注册客户端-->
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
                <version>2.2.1.RELEASE</version>
            </dependency>
        </dependencies>
    </dependencyManagement>

1.2 创建子工程,并添加依赖

<!--nacos配置中心客户端-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>
        <!--nacos服务注册客户端-->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>

1.3 配置文件 bootstrap.yml

server:
  port: 9101
spring:
  application:
    name: shop-goods
  cloud:
    nacos:
      # 注册中心配置
      discovery:
        server-addr: 127.0.0.1:8848 # nacos 注册中心地址
        namespace: 0e883794-4414-4d41-a177-6d335d304e42 # 开发环境  指定 具体的命名空间id
        #group: DEFAULT_GROUP # 分组 默认分组可以省略
      # 配置中心配置  
      config:
        #enabled: false #关闭配置
        server-addr: 127.0.0.1:8848 # Nacos 配置中心地址
        namespace: 0e883794-4414-4d41-a177-6d335d304e42 # 开发环境  指定 具体的命名空间id
        group: TEST_GROUP # 分组
        name: test-config-dev #dataid 内容
        #file-extension: yaml #dataid 的名称就是application的name加file-extension   service1.yaml

1.4 启动类

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.cloud.netflix.hystrix.EnableHystrix;
import org.springframework.cloud.openfeign.EnableFeignClients;

@SpringBootApplication
@EnableDiscoveryClient
//标注当前工程开启feign远程调用
@EnableFeignClients
//开启降级
@EnableHystrix
//配置文件自动刷新
@RefreshScope
public class GoodsApplication {
          
   

    public static void main(String[] args) {
          
   

        SpringApplication.run(GoodsApplication.class);
    }

}
经验分享 程序员 微信小程序 职场和发展