nacos配置中心简单使用,以及自己遇到的配置文件无法生效的问题

博主介绍: 22届计科专业毕业,来自湖南,主要是在CSDN记录一些自己在Java开发过程中遇到的一些问题,欢迎大家一起讨论学习,也欢迎大家的批评指正。

前言

背景:我在学习谷粒商城项目搭建nacos配置中心时,遇到一直无法动态刷新的问题,本文将介绍以下几点内容:
1、windows下nacos的安装与启动;
2、如何简单使用nacos的配置中心;
3、已经我自己遇到的问题与解决方案。

正文

1、nacos的安装与启动

nacos1.4.2百度云盘下载地址:
链接:https://pan.baidu.com/s/1efhYx7YDW_RXiwX-DzdIEw
提取码:jok0

下载之后直接解压就可以了,nacos默认是集群默认启动,所以我们需要做一个修改操作:

进入nacos/bin目录中,找到startup.cmd 文件,然后文本编辑器打开,将cluster修改成 standalone

在这里插入图片描述
然后再双击startup.cmd就可以运行了,浏览器访问 http://localhost:8848/nacos/#/login 就可以进入nacos登录页面了,账号和密码都是nacos

2、使用nacos配置中心实现动态刷新

首先要注意:springboot 、springcloud与springcloud alibaba 三者对应的版本,详细对应版本信息

我的版本分别是:

<spring-boot.version>2.1.8.RELEASE</spring-boot.version>
<spring-cloud.version>Greenwich.SR3</spring-cloud.version>
<spring-alibaba.version>2.1.0.RELEASE</spring-alibaba.version>

使用配置中心之前,应该要确保服务已在nacos中注册成功,这里还是以配置中心为主要内容,服务注册就不讲了。
在这里插入图片描述
nacos配置中心步骤:

引入依赖

<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
</dependency>

resources 目录中新增 bootstrap.properties 文件,文件内容如下:

spring.cloud.nacos.config.server-addr=127.0.0.1:8848
spring.application.name=gulimall-coupon

在新建一个 application.properties 文件,文件内容中添加以下内容:

coupon.user.name="张三"
coupon.user.age=13

在控制层添加测试代码,注意@RefreshScope注解是实现动态刷新的关键,必须添加:

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

    @Value("${coupon.user.name}")
    private String name;
    @Value("${coupon.user.age}")
    private Integer age;
    @RequestMapping("/test")
    public R test(){

        return R.ok().put("name",name).put("age",age);
    }
}

启动项目,先访问测试地址,得到如下数据,正是在application.properties 文件中配置的值。

在这里插入图片描述
接下来我们在nacos中添加配置文件:
在这里插入图片描述
下面是我配置的文件,注意:Data IDbootstrap.properties 文件对应的 spring.application.name的值,加上properties 后缀也就是,gulimall-coupon.properties,这些都是可以自己配置的,具体可以参考官方文档,中dataId部分。
在这里插入图片描述
发布之后刷新浏览器再次访问得到的数据已经发生变化,这说明配置成功了:
在这里插入图片描述

3、我自己配置过程遇到的问题

问题:项目没有报错,nacos也启动成功了,并且服务也注册成功了,就是配置中心没有生效。

原因:我的 gulimall-coupon 模块是引入了 gulimall-common 模块,我在 gulimall-common 中已经引入了下图依赖,然后我在 gulimall-coupon 模块中也引入了 下图 依赖,应该是因为依赖冲突,导致配置中心没有生效,删除 gulimall-coupon 中下图依赖就可以了。
在这里插入图片描述

4、建议

项目中即使存在重复依赖,有可能可以运行成功的,我的就是这样,但是执行 maven clean 就会报错,
在这里插入图片描述所以大家在遇到这种类似的问题的时候,可以先执行一下 maven clean 命令来进行检查,这个问题搞了我好久,一直以为我是配置的方法不对,就是执行 maven clean 才发现的问题。
在这里插入图片描述

  • 20
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

机灵的程序员

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值