SpringBoot 集成 Nacos
目录
- 一、前言
- 二、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.properties
,Nacos
配置加在此配置文件中的话,应用启动会报连接 Nacos
失败,我们需要创建 bootstrap.properties
或 bootstrap.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相关推荐
- Springboot集成nacos实现服务发现和配置中心
Nacos是阿里巴巴开源的服务发现和配置中心的中间件,springboot集成nacos比较方便,只需要以下三步: 1.依赖配置(pom文件) <properties><spring ...
- SpringBoot 集成Nacos报错(一)
目录 配置信息 报错信息 解决方案 配置信息 <project><parent><groupId>org.springframework.boot</grou ...
- 单机启动nacos_SpringBoot集成Nacos的详细教程
一.环境说明 1.CentOS7 2.Jdk1.8 3.Mysql5.7 4.Nacos1.3 5.SpringBoot2.3.1.RELEASE 6.Maven3.6 二.下载Nacos 三.解压启 ...
- springboot nacos_springboot集成nacos
1.现在nacos进行配置添加 2.springboot项目集成nacos nacos上有说明,根据不同的工程进行配置,如下图 集成nacos客户端包 com.alibaba.boot nacos-c ...
- Springboot 集成Springcloud gateway的入门
最近做项目使用到了springcloude gateway作为网关,因此在此记录下springcloud gateway的入门操作,后续再将源码解读写出来,先立个flag. 回归正题,Springcl ...
- springboot+openFeign+nacos开发实战
前面说了dubbo+nocas开发实战,现在来说下springboot+openFeign+nacos开发实战. 文章目录 什么是Feign Nacos环境准备 Nacos与openFegin整合 项 ...
- Springboot集成社交登录功能(微博登录)以及Session共享
Springboot集成社交登录功能 pom <dependency><groupId>org.apache.httpcomponents</groupId>< ...
- springboot集成kafka消费手动启动停止
项目场景: 在月结,或者某些时候,我们需要停掉kafka所有的消费端,让其暂时停止消费,而后等月结完成,再从新对消费监听恢复,进行消费,此动作不需要重启服务,最后源码下载 解决分析 KafkaList ...
- Springboot 集成积木报表(jimuReport)
Springboot 集成积木报表(jimuReport) 搭建maven项目 引入积木报表所需pom依赖(jimureport所需的,mybatis-plus所需3以上) <parent> ...
最新文章
- Java通过泛型的模板类型实例化对象
- 【JavaSE02】Java基本语法-概念
- 因为sudoers权限而引起的sudo失效
- shadow阴影属性
- python mysql数据库的高级应用_Python之路第十二天,高级(5)-Python操作Mysql,SqlAlchemy...
- pythonmysql包_[Python] MySQLdb(即 MySQL-python 包)在 OS X 中安装指南
- 更改ESXi主机root用户密码
- 生于资本,死于泡沫,review ofo衰亡
- Arcgis字段计算器实现自动编码
- 简单了解交换机原理与配置
- 关于Vmware中的Ubuntu不断弹窗Num Lock的问题
- 剑与家园服务器维护,《剑与家园》杀鸡取卵式运营 如何拯救短命的区服?
- LeetCode 881 救生艇
- go 变量大写_go语言如何将大写转小写
- 基于Python监测键盘输入并发出声音的坤音键盘
- Web端测试——F12的代码调试与抓包
- xp系统怎么上传到ftp服务器,xp系统怎么上传到ftp服务器
- 怎么根据姓名批量创建文件夹?
- 基于ZigBee定位技术下的隧道人员定位,隧道人员考勤定位--新导智能
- 路由器修改html加广告,openwrt利用Privoxy实现js广告植入
热门文章
- 【转】C++学习二 vector的用法(使用sort对于vector排序)
- 【转】setsocketopt getsocketopt比较全的参数说明
- 【转】Jenkins详细教程
- 第二十二节: 以SQLServer为例介绍数据库自有的锁机制(共享锁、更新锁、排它锁等)和事务隔离级别 :
- html的绝对定位脱离文档流吗,子元素设置绝对定位之后脱离文档流!
- vba 修改文本文档 指定行_VBA程序报错,用调试三法宝,bug不存在的
- 【OSG】OSG软件模块结构
- angular判断两个对象值是否相等,包含对象深层判断,深拷贝的两个对象
- java mediator_java—mediator中介模式
- 【 HDU - 2594 】Simpsons’ Hidden Talents(KMP应用,求最长前缀后缀公共子串)