首页 > 其他分享 >SpringBoot项目接入Nacos的实现步骤

SpringBoot项目接入Nacos的实现步骤

时间:2024-03-29 19:45:08浏览次数:34  
标签:SpringBoot demeter 接入 spring 配置 nacos Nacos config cloud

前言

项目中没有使用nacos官方提供的方式使用SpringBoot的集成方式来进行集成,而是使用了Alibaba Spring Cloud的依赖包进行集成。 原因是因为官网提供的SpringBoot集成方式中,同时使用配置中心和服务发现功能,会使得服务发现功能配置的部分属性冲突不生效。最直接的就是配置中心和服务发现功能不可以配置2个不同的namespace,会默认选择使用配置中心中配置的namespace作为服务发现的namespace。

另外一点就是可以很好的和Spring的注解兼容,无需额外的注解。例如@NacosValue注解。

maven依赖

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 <dependency>     <groupId>com.alibaba.cloud</groupId>     <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>     <version>2.2.5.RELEASE</version> </dependency> <dependency>     <groupId>com.alibaba.cloud</groupId>     <artifactId>spring-cloud-starter-alibaba-nacos-config-server</artifactId>     <version>2.2.5.RELEASE</version> </dependency> <dependency>     <groupId>org.apache.dubbo</groupId>     <artifactId>dubbo-spring-boot-starter</artifactId>     <version>2.7.9</version> </dependency>

Nacos配置中心

配置文件

新建bootstrap.properties文件,在配置文件中配置nacos的配置信息。

1 2 3 4 5 6 # ============== nacos-config  ============== # spring.cloud.nacos.config.server-addr=127.0.0.1:8848 spring.cloud.nacos.config.username=nacos spring.cloud.nacos.config.password=nacos spring.cloud.nacos.config.namespace=config-dev spring.cloud.nacos.config.group=demeter

注意:由于spring cloud alibaba nacos config的加载机制问题,配置信息如果写在了application-{env}.properties的配置文件中法律咨询无法被解析。所以如果需要分多环境动态加载,可以写在bootstrap-{env}.properties文件中。 启动的时候配置active profiles+ 环境就可以正确读取配置了

动态配置

新建配置

在名为config-dev的namespace中新建配置demeter-application-admin。

配置中的data-id就不再多说了,这个可以查看资料,网上有很多资料进行了详细描述。 data-id参考如下:

  • demeter-application-admin
  • demeter-application-admin.properties
  • demeter-application-admin-dev.properties

配置实体类

DemeterAdminProperties.class

1 2 3 4 5 6 7 8 9 @Data @Accessors(chain = true) @ConfigurationProperties(prefix = "demeter.admin") public class DemeterAdminProperties implements Serializable {     private static final long serialVersionUID = 1563821704172888362L;     private String name;     private String description;     private String time; }

使配置生效。 @EnableConfigurationProperties注解使DemeterAdminProperties可以被实例化,自动注入到其他组件中。

1 2 3 4 5 6 7 8 @Configuration @ComponentScan(value = {         "org.demeter.application.admin", }) @Import(value = {AutoRedisConfiguration.class}) @EnableConfigurationProperties({DemeterAdminProperties.class}) public class AdminWebConfig { }

访问结果
Controller

结果

Nacos服务发现

配置文件

1 2 3 4 5 6 # ============== nacos-discovery  ============== # spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848 spring.cloud.nacos.discovery.username=nacos spring.cloud.nacos.discovery.password=nacos spring.cloud.nacos.discovery.namespace=discovery-dev spring.cloud.nacos.discovery.group=demeter

使配置生效

使用@EnableDiscoveryClient注解使配置文件能够生效.

结果

标签:SpringBoot,demeter,接入,spring,配置,nacos,Nacos,config,cloud
From: https://www.cnblogs.com/77cxw/p/18104483

相关文章

  • 最简SpringBoot
    SSM的SpringBoot1、概述starter是SpringBoot中常见的依赖名称,定义了当前项目使用的所有项目坐标,以达到减少依赖配置的目的;SpringBoot简化开发的核心是起步依赖starter所有SpringBoot项目都要继承parent项目,里面定义了若干个坐标版本号(进行依赖管理,减少依赖冲突),使用大多数技术......
  • nacos 和eureka
    nacos服务分布存储模型引入机房地域概念nacos祖册中心服务夸集群调用问题跨域集群访问延迟高极可能访问本地集群order-service一级是服务,例如userservice二级是集群,杭州上海idea查看日志userservicevacosrule负载均衡策略根据权重负载均衡()实例的权重控制nacos控制可以设置实例的......
  • 【附源码】JAVA计算机毕业设计在线考研刷题系统(springboot+mysql+开题+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着信息技术的飞速发展,计算机在教育领域的应用日益广泛。特别是在线教育平台,以其便捷性、灵活性和资源共享性受到了广大师生的青睐。近年来,考研热潮......
  • 【附源码】JAVA计算机毕业设计在线考试系统的设计与实现(springboot+mysql+开题+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着信息技术的迅猛发展和互联网的普及,传统的教育模式正面临着深刻的变革。在线考试系统作为教育信息化进程中的重要一环,正逐渐取代传统的纸质考试方......
  • 【附源码】JAVA计算机毕业设计在线考试答题系统(springboot+mysql+开题+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着互联网技术的迅猛发展,教育信息化已成为现代教育发展的重要趋势。在线考试答题系统作为教育信息化的重要组成部分,能够打破传统考试的时间和空间限......
  • 【附源码】JAVA计算机毕业设计在线考试(springboot+mysql+开题+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着互联网技术的飞速发展,传统的教育模式正在经历深刻的变革。在线教育以其灵活、便捷的特性受到了广大师生的青睐。在线考试作为在线教育的重要组成......
  • 【附源码】JAVA计算机毕业设计在线考试系统(springboot+mysql+开题+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容一、研究背景随着信息技术的迅猛发展,教育领域正经历着深刻的变革。在线考试系统作为现代教育信息化建设的重要组成部分,已经逐渐成为各级教育机构优化考试流程......
  • 【附源码】JAVA计算机毕业设计在线考试系统(springboot+mysql+开题+论文)
    本系统(程序+源码)带文档lw万字以上 文末可获取一份本项目的java源码和数据库参考。系统程序文件列表开题报告内容研究背景随着信息技术的迅猛发展,传统的教育模式正面临着深刻的变革。在线考试系统作为教育信息化进程中的重要组成部分,其设计与开发逐渐受到广泛关注。在当前......
  • 摄影跟拍预定系统的设计与实现|Springboot+ Mysql+Java+ B/S结构(可运行源码+数据库+
    本项目包含可运行源码+数据库+LW,文末可获取本项目的所有资料。项目研究的背景困扰管理层的许多问题当中,摄影跟拍预定管理一定是不敢忽视的一块。但是管理好摄影跟拍预定又面临很多麻烦需要解决,例如有几个方面:第一,往往用户人数都比较多,如何保证能够管理到每一用户;第二,......
  • 手写SpringBoot(一)之简易版SpringBoot
    系列文章目录手写SpringBoot(一)之简易版SpringBoot手写SpringBoot(二)之动态切换Servlet容器手写SpringBoot(三)之自动配置手写SpringBoot(一)之简易版SpringBoot添加依赖<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"......