在SpringBoot项目中快速搭建一个Nacos配置中心,再也不用修改配置文件上传了

Posted lovoo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在SpringBoot项目中快速搭建一个Nacos配置中心,再也不用修改配置文件上传了相关的知识,希望对你有一定的参考价值。

前言

在以前的SpringBoot项目中,我们将很多配置信息写在application.properties文件中,但这种做法修改起来就比较麻烦。现在好了,伟大的阿里马马公司提供了一个Nacos组件,可以动态修改配置文件,再也不用为了修改一个配置而重新打包上传代码了!
配置中心界面如图:
在这里插入图片描述

1.Nacos简介

Nacos是阿里巴巴集团开源的一个易于使用的平台,专为动态服务发现,配置和服务管理而设计。它可以帮助您轻松构建云本机应用程序和微服务平台。

Nacos基本上支持现在所有类型的服务,例如,Dubbo / gRPC服务,Spring Cloud RESTFul服务或Kubernetes服务。

尤其是使用Eureka注册中心的,并且担心Eureka闭源的开发者们,可以将注册中心修改为Nacos,本文主要介绍Nacos配置中心的使用。

Nacos官网如下图所示,官网地址https://nacos.io/zh-cn/
在这里插入图片描述

2、搭建Nacos服务中心

Nacos安装可以采用如下两种方式:

1.官网下载稳定版本解压使用。
2.下载源代码编译使用,目前最新的版本是0.8.0版本。
本文简单介绍一下第二种方式,到Nacos的稳定版本下载地址https://github.com/alibaba/nacos/releases,下载最新版,本文下的是tag.gz文件,下载后解压即安装完成,然后进入解压目录后的bin目录执行如下命令
启动Nacos。

sh startup.sh -m standalone

启动可以看到控制台如图所示,端口号是8848,帐户/密码都是nacos。
在这里插入图片描述

3、创建Maven项目

在这里插入图片描述
mall-common基础公共类;
mall-coupon优惠券微服务,依赖mall-common;
mall-member会员微服务,依赖mall-common;

在mall-common中引入

<dependencies>
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>
  </dependencies>
<dependencyManagement>
        <dependencies>
            <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>2.2.5.RELEASE</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>
        </dependencies>
    </dependencyManagement>

4、配置Nacos

首先创建如图两个properties文件
在这里插入图片描述
在bootstrap.properties中配置

#服务注册中心配置
spring.application.name=mall-coupon
spring.cloud.nacos.config.server-addr=127.0.0.1:8848

在application.properties添加

coupon.user.name=tom
coupon.user.age=20
coupon.user.sex=男

在CouponController中创建变量与函数,并在头部添加@RefreshScope注解

@RefreshScope
@RestController
@RequestMapping("coupon/coupon")
public class CouponController {
    @Autowired
    private CouponService couponService;

    @Value("${coupon.user.name}")
    private String name;
    @Value("${coupon.user.age}")
    private String age;
    @Value("${coupon.user.sex}")
    private String sex;

    @RequestMapping("/member/info")
    public R memberInfo(){
        return R.ok().put("name", name).put("age", age).put("sex", sex);
    }

}

访问http://localhost:7000/coupon/coupon/member/info
显示

{"msg":"success","code":0,"sex":"男","name":"tom","age":"20"}

5、在Nacos服务端配置

新建配置
在这里插入图片描述
5.1) mall-coupon为微服务的名称
在这里插入图片描述

5.2) 要选择properties项
5.3) 将application.properties中的内容拷入并修改
5.4) 发布
5.5) 刷新http://localhost:7000/coupon/coupon/member/info
显示:

{"msg":"success","code":0,"sex":"男1","name":"tom1","age":"201"}

完成动态修改

以上是关于在SpringBoot项目中快速搭建一个Nacos配置中心,再也不用修改配置文件上传了的主要内容,如果未能解决你的问题,请参考以下文章

快速创建springboot+springcloud项目(nacos,seata,sentinel,gateway,openfeign)

微服务架构SpringBoot+SpringCloud+VUE三 || 服务注册与配置中心Nacos

nacos集群搭建和使用

SpringBoot+Maven+Nacos搭建微服务应用

SpringBoot+Maven+Nacos搭建微服务应用

Docker下Nacos配置应用开发