码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • SpringCloudAlibaba-Nacos配置中心


    开发环境

    开发工具:IDEA 2021.3.2

    JDK版本:JDK1.8

    Maven版本:Maven3.8

    SpringCloud版本:Hoxton.SR12

    SpringCloudAlibaba版本:2.2.7.RELEASE

    SpringBoot版本:2.3.12.RELEASE

    Nacos版本:2.0.3

    准备Nacos 

    Nacos官方文档(推荐阅读)

    下载安装包(下载速度慢,不推荐)

    ①GitHub下载nacos2.0.3安装包

     

    下载源码(推荐)

    ①根据Nacos官方文档,首先克隆源码(github太慢,使用gitee Nacos镜像)

    1. # -b 后面带的是nacos版本
    2. git clone -b 2.0.3 https://gitee.com/mirrors/Nacos.git

    ②克隆完之后,执行以下命令构建项目

    1. cd nacos/
    2.  
    3. mvn -Prelease-nacos -Dmaven.test.skip=true clean install -U  

    ③构建完项目之后,进入distribution\target\distribution\target\nacos-server-2.0.3\nacos\bin目录,下打开cmd,执行 startup.cmd -m standalone 命令启动nacos-server

    1. cd distribution\target\nacos-server-2.0.3\nacos\bin
    2. startup.cmd -m standalone

    ⑤浏览访问http://localhost:8848/nacos/index.html,登录客户端默认账号密码都是nacos

    创建项目

    创建spring cloud项目

    以Nacos为注册中心,搭建spring cloud项目

    创建子模块

    ①创建maven子模块,命名为cloud-provider-nacos-config8011

    ②导入依赖

    1. <dependencies>
    2. <dependency>
    3. <groupId>com.alibaba.cloudgroupId>
    4. <artifactId>spring-cloud-starter-alibaba-nacos-configartifactId>
    5. dependency>
    6. <dependency>
    7. <groupId>com.alibaba.cloudgroupId>
    8. <artifactId>spring-cloud-starter-alibaba-nacos-discoveryartifactId>
    9. dependency>
    10. <dependency>
    11. <groupId>org.springframework.bootgroupId>
    12. <artifactId>spring-boot-starter-webartifactId>
    13. dependency>
    14. <dependency>
    15. <groupId>org.springframework.bootgroupId>
    16. <artifactId>spring-boot-starter-actuatorartifactId>
    17. dependency>
    18. dependencies>

    ③创建bootstrap.yml配置文件

    1. server:
    2. port: 8011
    3. spring:
    4. application:
    5. name: cloud-provider-nacos-config
    6. cloud:
    7. nacos:
    8. #注册与发现中心
    9. discovery:
    10. server-addr: 127.0.0.1:8848
    11. #配置中心
    12. config:
    13. server-addr: 127.0.0.1:8848
    14. prefix: ${spring.application.name}
    15. file-extension: yaml #配置文件格式(只支持yaml和properties)

    ④创建application.yml配置文件

    1. spring:
    2. profiles:
    3. active: dev

    ⑤创建启动类,添加@EnableDiscoveryClient注解

    1. @EnableDiscoveryClient
    2. @SpringBootApplication
    3. public class ProviderNacosConfig8011 {
    4. public static void main(String[] args) {
    5. SpringApplication.run(ProviderNacosConfig8011.class, args);
    6. }
    7. }

    ⑥创建controller,添加@RefreshScope注解

    1. @RefreshScope
    2. @RestController
    3. @RequestMapping("provider")
    4. public class ProviderController {
    5. // nacos配置文件里面的info的值
    6. @Value("${info}")
    7. private String info;
    8. @GetMapping("getInfo")
    9. public String getInfo() {
    10. return info;
    11. }
    12. }

    ⑦浏览器打开http://localhost:8848/nacos/index.html#/login,登录客户端,添加配置

     ⑧新建配置,根据Nacos官方文档中给的的Data ID的完整格式${prefix}-${spring.profiles.active}.${file-extension},填写Data ID

     ⑨填写配置内容并发布

    info: cloud-provider-nacos-config-8011

    测试

    启动Nacos注册中心

     

    启动cloud-provider-nacos-config8011

     

    测试

    ①浏览器访问http://localhost:8011/provider/getInfo,获取配置文件中的info的值

    ②修改info的值

    info: cloud-provider-nacos-config-修改之后的值

    ③再次访问http://localhost:8011/provider/getInfo,获取info的值

    总结

    Nacos-config实现了获取配置文件和自动刷新的功能。把Spring Cloud Config的获取配置文件和Spring Cloud Bus的刷新配置文件两个功能融合在了一起,中间还省了发送请求来刷新配置文件的步骤。

  • 相关阅读:
    ASEMI整流桥GBJ2510参数:拆析其关键性能特点
    java 企业工程管理系统软件源码 自主研发 工程行业适用
    Double 4 VR智能互动系统在轨道交通实训教学中的应用
    基于SSM开发在线学习网站(前台+后台)
    HTTP 错误 500.19 - Internal Server Error 无法访问请求的页面,因为该页的相关配置数据无效——错误代码:0x8007000d
    Dubbo订阅发布的实现原理
    傻瓜式Java操作MySQL数据库备份
    爱创科技X腾讯安全:追溯生态体系赋能酒企数智化转型
    【运维语音播报】Zabbix告警语音声光播报的实现
    SSM+基于Vue框架的在线投票系统的设计与实现 毕业设计-附源码221604
  • 原文地址:https://blog.csdn.net/weixin_46899412/article/details/127709173
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号