概要

nacos 可以作为服务注册发现中心,也可以作为配置中心,作为配置中心的时候,系统的配置可以做到自动刷新,即当配置服务器的数据发生更改时,客户端的配置会进行自动的更新。

实现步骤

1.修改maven 配置

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

2.增加bootstrap.properties

这个是文件是启用nacos作为配置中心的文件。

图标有朵云,表示启用nacos 作为配置中心。

//配置nacos作为配置服务器
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
//配置模式为开发模式
spring.profiles.active=dev
//nacos配资使用yml 作为扩展名
spring.cloud.nacos.config.file-extension=yml
//下面的配置时公共配置,即可以在不同应用之间进行共享。
spring.cloud.nacos.config.shared-dataids=common.yml
spring.cloud.nacos.config.refreshable-dataids=common.yml

springcloud 是使用配置优先的。

比如我现在有一个应用为:

jpaas-form

系统会按照如下的配置进行查找

1.先找 jpaas-form-dev.yml,如果找到了则返回,如果找不到则进行下一步。

2.查找 jpaas-form.yml 如果找不到,则查找共享的配置,根据上面的配置他会查找common.yml

这里配置格式,可以是 yaml 或者 properties

3.在程序中使用

@RefreshScope
public class SysSeqIdController extends BaseController<SysSeqId> { @Value( value = "${user.name}")
private String username=""; @Value( value = "${sys.name}" )
private String uploaddir=""; @Autowired
private User user;

@RefreshScope 是实现自动刷新配置。

user.name,sys.name 是配置的参数

可以使用 yml 的格式进行配置。

我们还可以配置对象的方式进行参数进行注入,使用相当方便。

比如:

user:
name: ray
address: guangzhou

编写用户代码如下:

@Data
@Component
@ConfigurationProperties(prefix = "user")
public class User {
private String name="";
private String address="";
}

这样 数据就会自动配置好用户对象,使用下面的代码进行注入。

@Autowired
private User user;

同样,这个对象在配置中心修改后也能进行自动刷新。

4.将数据库配置放到nacos 配置中心。

我们一般将数据库配置,配置到 application.properties 文件中,这有个坏处,当我需要打包时,需要在启动时,指定这些配置,配置会太多。

因此,我们需要将这些配置放置到 nacos ,在启动应用的时候,我们只需要指定 nacos 的地址,这样我们 就可以启动微服务应用。

当数据库配置等需要修改时,我们只需修改naocs的配置即可,不需要修改程序包。

nacos配置如下:

程序配置中心配置如下:

在bootstrap-dev.properties 指定 nacos的配置 nacos-config-dev.properties

在 IDEA 中指定 配置 nacos.address

使用命令行启动微服务

java -jar jpaas-user.jar --nacos.address=192.168.1.10:8848 指定配置中心地址。

spring cloud 使用nacos 作为配置中心的更多相关文章

  1. spring cloud alibaba - Nacos 作为配置中心基础使用

    1.简要说明 Nacos提供了作为配置中心的功能,只需要在Nacos的控制台页面添加配置,然后在项目中配置相应的"路径"就好. 主要分为几个步骤: 在Nacos控制台添加配置 在项 ...

  2. Spring Cloud 入门教程 - 搭建配置中心服务

    简介 Spring Cloud 提供了一个部署微服务的平台,包括了微服务中常见的组件:配置中心服务, API网关,断路器,服务注册与发现,分布式追溯,OAuth2,消费者驱动合约等.我们不必先知道每个 ...

  3. Spring Boot + Spring Cloud 实现权限管理系统 配置中心(Config、Bus)

    技术背景 如今微服务架构盛行,在分布式系统中,项目日益庞大,子项目日益增多,每个项目都散落着各种配置文件,且随着服务的增加而不断增多.此时,往往某一个基础服务信息变更,都会导致一系列服务的更新和重启, ...

  4. SpringCloud实战之初级入门(三)— spring cloud config搭建git配置中心

    目录 1.环境介绍 2.配置中心 2.1 创建工程 2.2 修改配置文件 2.3 在github中加入配置文件 2.3 修改启动文件 3. 访问配置中心 1.环境介绍 上一篇文章中,我们介绍了如何利用 ...

  5. 【Spring Cloud】Spring Cloud Config 实现分布式配置中心

    Spring Cloud Config 实现分布式配置中心 一.分布式配置中心 分布式系统中,往往拥有大量的服务应用,而每个应用程序都需要有对应的配置文件来协助完成服务环境初始化.运行.因此生产了大量 ...

  6. spring cloud深入学习(七)-----配置中心git示例

    随着线上项目变的日益庞大,每个项目都散落着各种配置文件,如果采用分布式的开发模式,需要的配置文件随着服务增加而不断增多.某一个基础服务信息变更,都会引起一系列的更新和重启,运维苦不堪言也容易出错.配置 ...

  7. Spring Cloud 系列之 Config 配置中心(二)

    本篇文章为系列文章,未读第一集的同学请猛戳这里:Spring Cloud 系列之 Config 配置中心(一) 本篇文章讲解 Config 如何实现配置中心自动刷新. 配置中心自动刷新 点击链接观看: ...

  8. Spring Cloud 系列之 Config 配置中心(三)

    本篇文章为系列文章,未读前几集的同学请猛戳这里: Spring Cloud 系列之 Config 配置中心(一) Spring Cloud 系列之 Config 配置中心(二) 本篇文章讲解 Conf ...

  9. Spring Cloud 系列之 Consul 配置中心

    前面我们已经学习过 Spring Cloud Config 了: Spring Cloud 系列之 Config 配置中心(一) Spring Cloud 系列之 Config 配置中心(二) Spr ...

  10. Spring Cloud 系列之 Apollo 配置中心(二)

    本篇文章为系列文章,未读第一集的同学请猛戳这里:Spring Cloud 系列之 Apollo 配置中心(一) 本篇文章讲解 Apollo 部门管理.用户管理.配置管理.集群管理. 点击链接观看:Ap ...

随机推荐

  1. Tomcat——idea集成本地Tomcat

    IDEA 集成本地Tomcat 添加配置      添加本地Tomcat服务器      配置本地Tomcat路径      部署项目             在 webapp 中添加一个简单的页面作 ...

  2. QT原理与源码分析之对象级QT事件过滤器

    本文简略介绍了QT原理与源码分析中的QT对象级事件过滤器的自定义过滤函数.对象级事件过滤器的安装过程,以及安装函数的源码实现. 自定义QT事件过滤器的过滤函数的实现: 事件过滤器被调用时执行的函数代码 ...

  3. 北京智和信通:IT资产全生命周期运维监控管理方案

    IT资产是企业开展正常业务运营和拓展不可或缺的资源,也是企业财产的重要载体.随着信息科技的快速发展,各企业对IT资产的依赖逐渐增强,IT资产的可靠性和有效性面临着愈来愈大的挑战.例如IT资产管理混乱, ...

  4. 【解题报告】P8477 「GLR-R3」春分

    P8477 「GLR-R3」春分 题目看起来比较魔怔,考虑怎么搞一下. 首先,一个最简单的想法,每对溶液组都配一个板子,可以用 \(n^2\) 个板子解决,看得出来很不优啊,但是可以得到 Sub1 的 ...

  5. opengl在编译的过程中,glad使用

    我在编译的过程中,遇到:无法找到 -lglad这个错误.最后才发现对于glad的使用不能用-lglad.因为我们通过glad的在线服务可以得到一些文件,其中glad.c文件我们是需要放在我们的项目下面 ...

  6. HOG算法的笔记与python实现

    这两篇[1][2]博客写的都非常详细.这里做个笔记记录一下. HOG称为方向梯度直方图(Histogram of Oriented Gradient),主要是为了对图像进行特征提取.所以在传统目标检测 ...

  7. electon的入口文件 main 指定

    任何 Electron 应用程序的入口都是 main 文件. 这个文件控制了主进程,它运行在一个完整的Node.js环境中,负责控制您应用的生命周期,显示原生界面,执行特殊操作并管理渲染器进程(稍后详 ...

  8. DOM 操作的常用 API 有哪些 ?

    DOM 操作的常用 API 就是DOM 通过API (接口)获取页面(html)元素: 1. 节点查询 API 1.1 document.querySelector()  选择第一个匹配的元素 1.2 ...

  9. 宝塔部署java后端项目

    1. 安装插件 宝塔面板找到软件商店然后搜索 Java java项目管理安装 安装后点击设置准备安装 tomcat 2. 添加项目

  10. KubeKey 2.0.0 发布:让离线部署 K8s 更加便捷

    2022 年 3 月 8 日,KubeKey 2.0.0 正式发布,这是 KubeKey 的第 7 个正式版本,也是非常重要的一个版本.该版本新增了清单(manifest)和制品(artifact)的 ...