概要

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. ASP.NET Core – Dependency Injection

    前言 很久很久以前就写过了 Asp.net core 学习笔记 ( DI 依赖注入 ), 这篇只是整理一下而已. 参考 Using dependency injection in a .Net Cor ...

  2. SQL Server – 树结构 (二叉树, 红黑树, B-树, B+树)

    前言 很久以前有学习过各种树结构, 但后来真的没有在实际项目中运用到. 毕竟我主要负责的都是写业务代码. 太上层了 但是忘光光还是很可惜的. 所以久久可以复习一下. 记得概念也好, 帮助思考. 参考: ...

  3. 新题速看!2021阿里、腾讯、字节都在问的SQL数据库笔试题及答案都给你整理好啦!

    ​    前  言 2021到了最后一个月份,年后肯定有蛮多小伙伴需要跳槽换工作,但对于年限稍短的软件测试工程师,难免会需要进行笔试,而在笔试中,基本都会碰到一道关于数据库的大题,今天这篇文章呢,就收 ...

  4. 11-02 NOIP练习赛

    11-02 NOIP练习赛 为什么休息的天还要打练习赛,这不公平!!!!!!!!!! oh no! 但是三道题确实挺简单,也少见的很有意思. [USACO23OPEN] Milk Sum S 题面翻译 ...

  5. laravel框架接口

    下面是增删改查的接口,在使用过程中按自己需求对代码进行更改 控制器代码 <?php namespace App\Http\Controllers; use App\Models\Fang; us ...

  6. 揭秘!尤雨溪成立的VoidZero如何改变前端世界

    前言 Vue和Vite之父尤雨溪宣布成立公司 VoidZero,目前已经融资3200万.这篇文章欧阳将带你了解VoidZero是如何改变javascript的世界! 关注公众号:[前端欧阳],给自己一 ...

  7. SMMU中stage1 和stage2 的意思

    ARM SMMU(System Memory Management Unit)是一种用于ARM架构的内存管理单元,它支持两阶段的地址转换机制,即Stage 1和Stage 2.这种机制允许操作系统和虚 ...

  8. 墨天轮访谈 | Pika数据库陈磊:云时代下,键值数据库是否会被替代?

    分享嘉宾:陈磊 开源数据库Pika项目PMC核心人员 整理:墨天轮社区 导读 大家好,今天我分享的主题是:KV数据库,云时代的文件存储. 随着AI和机器学习等技术的发展,数据演变为了十分宝贵的资源,数 ...

  9. Gradio 5 稳定版正式发布

    在过去的几个月里,我们一直在努力工作,今天,我们想向大家展示成果:Gradio 5 稳定版现已发布. 有了 Gradio 5,开发者可以构建 生产级的机器学习 Web 应用,这些应用不仅性能优越.可扩 ...

  10. fatal: couldn't find remote ref XXX解决

    .markdown-body { line-height: 1.75; font-weight: 400; font-size: 16px; overflow-x: hidden; color: rg ...