目录

  • 一、前言
  • 二、Nacos集成
    • 1、引入Nacos依赖
    • 2、设置Nacos配置
    • 3、加载Nacos配置中心配置项
    • 4、Nacos集成验证
    • 5、Nacos配置中心配置项动态生效

Nacos安装详见:Spring Cloud 系列之 Nacos 配置中心

一、前言

上一篇已经讲解了怎样安装安装、启动、配置 Nacos,这篇我们讲解如何在项目中使用 Nacos

还不了解 Nacos 的详见:Spring Cloud 系列之 Nacos 配置中心

在集成 Nacos 之前,首先我们要先创建一个 Spring Boot 项目:IDEA 创建 SpringBoot 项目

二、Nacos集成

1、引入Nacos依赖

<dependencies><!-- nacos --><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId><version>2.2.1.RELEASE</version></dependency><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId><version>2.2.1.RELEASE</version></dependency>
<dependencies>

注:Spring Boot版本要低于2.4,否则启动应用会报错。

2、设置Nacos配置

项目中默认配置文件是 application.propertiesNacos 配置加在此配置文件中的话,应用启动会报连接 Nacos 失败,我们需要创建 bootstrap.propertiesbootstrap.yml 配置文件(添加任意一个即可),下面我们以 bootstrap.properties 为例:

spring.application.name=apm-mobile-android
spring.cloud.nacos.username=nacos
spring.cloud.nacos.password=nacos
spring.cloud.nacos.server-addr=10.0.7.115:18117spring.cloud.nacos.discovery.namespace=PROD
spring.cloud.nacos.config.namespace=PROD
spring.cloud.nacos.config.timeout=3000
spring.cloud.nacos.config.refresh-enabled=truespring.cloud.nacos.config.group=apm
spring.cloud.nacos.config.prefix=${spring.application.name}
spring.cloud.nacos.config.file-extension=propertiesspring.cloud.nacos.config.shared-configs[0].group=apm
spring.cloud.nacos.config.shared-configs[0].data-id=apm-mobile-android.properties
spring.cloud.nacos.config.shared-configs[0].refresh=truespring.liquibase.enabled=false

3、加载Nacos配置中心配置项

在初始化类中添加 @EnableDiscoveryClient 注解即可:

package com.example.springbootdemo;import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.cloud.client.discovery.EnableDiscoveryClient;@EnableDiscoveryClient
@SpringBootApplication
public class SpringbootdemoApplication {public static void main(String[] args) {SpringApplication.run(SpringbootdemoApplication.class, args);new BootstrapManager();}}

4、Nacos集成验证

Nacos配置如下:

启动应用,然后访问:http://localhost:8085/hello

出现如下界面说明加载Nacos配置成功。

5、Nacos配置中心配置项动态生效

需要在配置对象中添加 @RefreshScope 注解,然后重启应用。

package com.example.springbootdemo.config;import lombok.Data;
import org.springframework.beans.factory.annotation.Value;
import org.springframework.cloud.context.config.annotation.RefreshScope;
import org.springframework.context.annotation.Configuration;
import org.springframework.stereotype.Component;@Data
@Component
@Configuration
@RefreshScope
public class GlobalConfig {@Value("${data.domain:http://10.0.0.1:18080}")private String dataDomain;@Value("${log.level:DEBUG}")private String logLevel;
}

重启后,访问:http://localhost:8085/hello

Nacos 配置中的 log.level 修改为 DEBUG ,然后重新访问:http://localhost:8085/hello,出现如下界面说明 Nacos 配置动态生成成功。

SpringBoot 集成 Nacos相关推荐

  1. Springboot集成nacos实现服务发现和配置中心

    Nacos是阿里巴巴开源的服务发现和配置中心的中间件,springboot集成nacos比较方便,只需要以下三步: 1.依赖配置(pom文件) <properties><spring ...

  2. SpringBoot 集成Nacos报错(一)

    目录 配置信息 报错信息 解决方案 配置信息 <project><parent><groupId>org.springframework.boot</grou ...

  3. 单机启动nacos_SpringBoot集成Nacos的详细教程

    一.环境说明 1.CentOS7 2.Jdk1.8 3.Mysql5.7 4.Nacos1.3 5.SpringBoot2.3.1.RELEASE 6.Maven3.6 二.下载Nacos 三.解压启 ...

  4. springboot nacos_springboot集成nacos

    1.现在nacos进行配置添加 2.springboot项目集成nacos nacos上有说明,根据不同的工程进行配置,如下图 集成nacos客户端包 com.alibaba.boot nacos-c ...

  5. Springboot 集成Springcloud gateway的入门

    最近做项目使用到了springcloude gateway作为网关,因此在此记录下springcloud gateway的入门操作,后续再将源码解读写出来,先立个flag. 回归正题,Springcl ...

  6. springboot+openFeign+nacos开发实战

    前面说了dubbo+nocas开发实战,现在来说下springboot+openFeign+nacos开发实战. 文章目录 什么是Feign Nacos环境准备 Nacos与openFegin整合 项 ...

  7. Springboot集成社交登录功能(微博登录)以及Session共享

    Springboot集成社交登录功能 pom <dependency><groupId>org.apache.httpcomponents</groupId>< ...

  8. springboot集成kafka消费手动启动停止

    项目场景: 在月结,或者某些时候,我们需要停掉kafka所有的消费端,让其暂时停止消费,而后等月结完成,再从新对消费监听恢复,进行消费,此动作不需要重启服务,最后源码下载 解决分析 KafkaList ...

  9. Springboot 集成积木报表(jimuReport)

    Springboot 集成积木报表(jimuReport) 搭建maven项目 引入积木报表所需pom依赖(jimureport所需的,mybatis-plus所需3以上) <parent> ...

最新文章

  1. Java通过泛型的模板类型实例化对象
  2. 【JavaSE02】Java基本语法-概念
  3. 因为sudoers权限而引起的sudo失效
  4. shadow阴影属性
  5. python mysql数据库的高级应用_Python之路第十二天,高级(5)-Python操作Mysql,SqlAlchemy...
  6. pythonmysql包_[Python] MySQLdb(即 MySQL-python 包)在 OS X 中安装指南
  7. 更改ESXi主机root用户密码
  8. 生于资本,死于泡沫,review ofo衰亡
  9. Arcgis字段计算器实现自动编码
  10. 简单了解交换机原理与配置
  11. 关于Vmware中的Ubuntu不断弹窗Num Lock的问题
  12. 剑与家园服务器维护,《剑与家园》杀鸡取卵式运营 如何拯救短命的区服?
  13. LeetCode 881 救生艇
  14. go 变量大写_go语言如何将大写转小写
  15. 基于Python监测键盘输入并发出声音的坤音键盘
  16. Web端测试——F12的代码调试与抓包
  17. xp系统怎么上传到ftp服务器,xp系统怎么上传到ftp服务器
  18. 怎么根据姓名批量创建文件夹?
  19. 基于ZigBee定位技术下的隧道人员定位,隧道人员考勤定位--新导智能
  20. 路由器修改html加广告,openwrt利用Privoxy实现js广告植入

热门文章

  1. 【转】C++学习二 vector的用法(使用sort对于vector排序)
  2. 【转】setsocketopt getsocketopt比较全的参数说明
  3. 【转】Jenkins详细教程
  4. 第二十二节: 以SQLServer为例介绍数据库自有的锁机制(共享锁、更新锁、排它锁等)和事务隔离级别 :
  5. html的绝对定位脱离文档流吗,子元素设置绝对定位之后脱离文档流!
  6. vba 修改文本文档 指定行_VBA程序报错,用调试三法宝,bug不存在的
  7. 【OSG】OSG软件模块结构
  8. angular判断两个对象值是否相等,包含对象深层判断,深拷贝的两个对象
  9. java mediator_java—mediator中介模式
  10. 【 HDU - 2594 】Simpsons’ Hidden Talents(KMP应用,求最长前缀后缀公共子串)