当前位置:   article > 正文

SpringBoot整合Nacos做配置中心_springboot集成nacos配置中心

springboot集成nacos配置中心

SpringBoot整合Nacos做配置中心


一、在Nacos中预置配置文件

1.1 创建命名空间

命名空间可以被视为一个项目,通常一个项目占用一个命名空间,在这里我们创建一个NACOS_TEST的命名空间。

1.2 创建分组

开发中会有分支的概念,一般而言会有dev(开发)、pro(生产)、test(测试)三个分支。

分支对应到Nacos中就是Group的概念,接下来创建三个Group:

(1)选择对应命名空间

选择刚刚创建好的命名空间:

(2)创建配置文件

注意:这里创建的配置文件,要求和后面创建的项目名称(spring.application.name)是相同的

(3)克隆配置文件

(4)查看结果

二、目录结构

三、pom依赖

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-actuator</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.cloud</groupId>
        <artifactId>spring-cloud-starter-bootstrap</artifactId>
    </dependency>
    <dependency>
        <groupId>com.alibaba.cloud</groupId>
        <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
    </dependency>
</dependencies>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22

四、配置Nacos

创建bootstrap.yaml(注意:bootstrap.yaml的加载优先级是最高的),并编辑该配置文件内容:

spring:
  application:
    # 与Nacos中配置文件名称相同
    name: nacos-separate-client-provider
  cloud:
    nacos:
      config:
        # 配置文件地址
        server-addr: 192.168.189.41:8848,192.168.189.42:8848,192.168.189.43:8848
        # 已经创建好的命名空间,会有一个id
        namespace: ae3c836e-931e-4def-b288-cac8278ca947
        # 配置文件所在的group
        group: dev
        # 配置文件的文件类型
        file-extension: properties
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

注意:配置文件的ID是{spring.cloud.nacos.config.fileExtension},且它的group是${spring.cloud.nacos.config.group}

五、提供服务

5.1 编写Controller接口

@RestController
@RequestMapping(("/nacos"))
@RefreshScope
public class NacosProviderController {
    @Value("${name}")
    private String name;

    @GetMapping("/name")
    public String getName() {
        return name;
    }
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

注意:这里的@RefreshScope注解是用于动态刷新配置的,当修改完配置后,不需要重启项目,即可正常读取修改后的数据

5.2 启动项目

启动项目,发现项目运行于8082端口,说明读取Nacos配置文件成功:

六、验证

6.1 验证基本功能

访问 http://localhost:8082/nacos/name ,查看结果:

结论:项目正常读取配置中的数据。

6.2 验证动态刷新配置

修改配置文件:

不需要重启项目,直接重新请求接口,查看结果:

结论:配置动态刷新,不需要重启项目。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/594585
推荐阅读
相关标签
  

闽ICP备14008679号