概要

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. 使用Navicat Premium 将数据库导入、导出方法

    数据库导出 1.双击要导出的数据库,右键选转储SQL文件-,选择要保存的文件夹. 2.点击开始后,开始导出. 数据库导入 1.新建数据库,数据库的名字必须和导入的数据库文件一致. 2.在新建的数据库右 ...

  2. OAuth2.0授权-gitee授权码模式

    OAuth2.0授权验证-gitee授权码模式 本文主要介绍如何笔者自己是如何使用gitee提供的OAuth2.0协议完成授权验证并登录到自己的系统,完整模式如图 1.创建应用 打开gitee个人中心 ...

  3. SpringMVC —— 响应

    响应页面    响应文本数据    响应json数据    响应json集合数据    注解      转换json时使用了类型转换器     

  4. Linux部署东方通TongWeb7

    一.软件版本 操作系统: CentOS 7.5.1804 JDK:1.8_201 东方通:TongWeb7.0.4.2 二.部署流程 2.1 安装JDK 2.1.1 下载JDK并发明回到/opt下解压 ...

  5. 信息打点-Web应用

    企业信息 小蓝本 https://sou.xiaolanben.com/pc 企业信息 爱企查 https://aiqicha.baidu.com/ 主要看知识产权 网络空间 FOFA https:/ ...

  6. ChatGPT论文降重Prompt

    你是一个已经阅读过大量论文的论文写作专家.我正在设计一个基于xxx系统.接下来,我将给你一个论文段落,你可以使用调整句子用词.句子结构等方法,重新描述这段话,对文章的内容进行润色,使之更加接近论文的写 ...

  7. 生成系统中的maven依赖信息

    在项目终端直接执行命令 mvn project-info-reports:dependencies 等待文件生成... 生成信息如下...

  8. 【赵渝强老师】Redis的消息发布与订阅

    Redis 作为一个publish/subscribe server,起到了消息路由的功能.订阅者可以通过subscribe和psubscribe命令向Redis server订阅自己感兴趣的消息类型 ...

  9. 记一次Razor Pages无法编译问题及解决

    解决方案写在前面:更新Visual Studio及相关组件,本人版本自17.8.0更新至17.11.4 缘起于公司的一个业务接口,在有一些信息需要在应用内嵌的webview中展示,信息不少,涉及的前端 ...

  10. 01 如何具备编程思想(以 Python 举例)

    博客配套视频链接: https://space.bilibili.com/383551518?spm_id_from=333.1007.0.0 b 站直接看 配套 github 链接:https:// ...