Sringboot整合Nacos配置中心使用 2.2.1

Nacos除了实现了服务的注册发现之外,还能将配置中心功能整合在了一起。通过Nacos的配置管理功能,可以将整个系统内的所有配置都集中在Nacos中存储。

下载链接(1.3.1版本源码) : https://github.com/alibaba/nacos/archive/1.3.1.zip

具体流程:
采用的nacos配置依赖版本是2.2.1.RELEASE

1、一键启动nacos服务

在这里插入图片描述

2、登录http://localhost:8848/nacos用户名密码都为nacos,添加配置文件

2.1新建一个命名空间(测试环境)

在这里插入图片描述

2.2 新建一个配置文件,此配置文件为springboot项目中的配置文件内容,文件名定义为项目名称+yaml格式(可自定义,这样定义方便项目中配置文件的编写)

在这里插入图片描述
在这里插入图片描述

3、新建父工程导入阿里巴巴依赖管理包(也可直接新建子工程导入相关依赖)

 <!--spring boot 环境 -->
    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.1.0.RELEASE</version>
        <relativePath/>
    </parent>


    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
        <spring-cloud-alibaba.version>2.2.1.RELEASE</spring-cloud-alibaba.version>
        <java.version>1.8</java.version>
        <!--spring cloud 版本-->
        <spring-cloud.version>Greenwich.RELEASE</spring-cloud.version>
    </properties>


    <!--引入Spring Cloud 依赖-->
    <dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>org.springframework.cloud</groupId>
                <artifactId>spring-cloud-dependencies</artifactId>
                <version>${spring-cloud.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

            <!--alibaba相关依赖-->
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>${spring-cloud-alibaba.version}</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

4、新建子工程导入nacos配置中心的依赖
在这里插入图片描述

 <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>
    </dependencies>

5、编辑配置文件,配置文件名称为bootstrap.yaml或bootstrap.yml,连接远程配置中心的配置文件都要为bootstrap命名,他的优先级高于application。

如果用application.yml自定义配置内容在配置中心,程序读取不到。

在这里插入图片描述
配置中心的文件名默认会找spring.application.name+文件类型file-extension

server:
  port: 9000
spring:
  application:
    name: nacos-config-provide
  cloud:
    nacos:
      config:
        #nacos地址
        server-addr: 127.0.0.1:8848
        #命名空间
        namespace: 5f3fd5ce-1089-46fe-aa55-6263694dfc29
        #配置文件类型,目前只支持yaml,yml,properties
        file-extension: yaml
        #开启自定刷新
        refresh-enabled: true
        enabled: true
        #分组
        group: DEFAULT_GROUP

6、新建类进行测试在要引用配置文件的类上标记注解@RefreshScope开启配置刷新,引入自定义配置文件内容进行测试
在这里插入图片描述
7、启动程序访问路径,得到远程配置中心中自定义配置内容

在这里插入图片描述
8、修改配置内容,不重启服务器

在这里插入图片描述

在这里插入图片描述
9、多环境部署
9.1 新建一个配置文件

在这里插入图片描述
在这里插入图片描述

2、项目配置文件修改多文件部署配置,配置文件名,分组,开启自动刷新功能
在这里插入图片描述

#多文件配置
        shared-configs:
          - dataId: abc.yaml
            group: NACOS_GROUP
            refresh: true

9.3 引入配置文件内容测试
在这里插入图片描述
成功(测试可发现,多环境部署,自定义配置内容相同优先使用之前的第一个自定义配置内容)
在这里插入图片描述

注意事项:
1、依赖是spring-cloud-starter-alibaba-nacos-config 2.2.1
2、远程配置中心Data Id命名和项目中spring.application.name+配置文件类型file-extension组成
3、项目配置文件名是bootstrap.yaml
4、引入配置内容类中要加@RefreshScope

猜你喜欢

转载自blog.csdn.net/weixin_45019350/article/details/114446363