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