程序员最近都爱上了这个网站  程序员们快来瞅瞅吧!  it98k网:it98k.com

本站消息

站长简介/公众号

  出租广告位,需要合作请联系站长


+关注
已关注

分类  

暂无分类

标签  

暂无标签

日期归档  

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

发布于2022-10-04 14:22     阅读(810)     评论(0)     点赞(26)     收藏(3)


博主介绍: 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 才发现的问题。
在这里插入图片描述

原文链接:https://blog.csdn.net/LoveStady/article/details/126160055



所属网站分类: 技术文章 > 博客

作者:以天使的名义

链接:http://www.javaheidong.com/blog/article/526920/20c27a4a048a22d0677f/

来源:java黑洞网

任何形式的转载都请注明出处,如有侵权 一经发现 必将追究其法律责任

26 0
收藏该文
已收藏

评论内容:(最多支持255个字符)