spring-clound基础开发
一、使用openfeig调用远程另外一个服务接口
-
1、创建一个
spring boot工程,并且创建2个模块来当微服务模块 -
2、分别配置2个模块的启动文件
-
3、分别两个模块下创建一个测试的控制器
-
4、在项目的根目录的
pom.xml中添加spring-cloud配置<properties><java.version>1.8</java.version><spring-cloud.version>2021.0.8</spring-cloud.version> </properties><dependencyManagement><dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring-cloud.version}</version><type>pom</type><scope>import</scope></dependency></dependencies> </dependencyManagement> -
5、在需要调用别的服务的项目中添加依赖
<!-- 远程调用的包 --> <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId> </dependency> <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-loadbalancer</artifactId> </dependency> -
6、在需要调用别的 服务的项目中创建一个文件夹
feign,里面创建一个文件SystemFeignHello.java的接口package com.example.feign;import org.springframework.cloud.openfeign.FeignClient; import org.springframework.web.bind.annotation.GetMapping;@FeignClient(name = "system", url = "http://localhost:9001/system") public interface SystemFeignHello {/*** 别的地方调用hell1方法的时候就会调用http://localhost:9001/system/hello路由* @return*/@GetMapping("hello")String hello1(); } -
7、测试调用另外一个服务的接口
package com.example.controller;import com.example.feign.SystemFeignHello; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController;import javax.annotation.Resource;@RestController public class HelloController {@ResourceSystemFeignHello systemFeignHello;@GetMapping("hello")public String hello() {return "File Hello";}@GetMapping("systemHello")public String getHello() {String helloResult = this.systemFeignHello.hello1();System.out.println(helloResult+"返回数据");return helloResult;} } -
8、在调用服务的启动类上加上扫描注解
package com.example;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.openfeign.EnableFeignClients;@SpringBootApplication @EnableFeignClients("com.example.feign") public class FileApplication {public static void main(String[] args) {SpringApplication.run(FileApplication.class, args);}} -
9、网页上测试调用接口
-
10、
system项目中接口如下,和普通接口没任何区别package com.example.controller;import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController;@RestController public class HelloController {@GetMapping("hello")public String hello() {return "System Hello11";} }
二、使用eureka来服务端配置
-
1、
eureka分为服务端和客户端,需要在项目中先创建一个eureka的服务段,在子项目中使用客户端的方式连接 -
2、创建一个
eureka模块来做服务端 -
3、在
eureka模块中添加依赖包<dependencies><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-server</artifactId></dependency> </dependencies> -
4、配置文件中基本配置
spring.application.name=eureka server.port=8761 eureka.client.fetch-registry=false eureka.client.register-with-eureka=false -
5、在启动类上添加注解
package com.example;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.server.EnableEurekaServer;@SpringBootApplication @EnableEurekaServer public class EurekaApplication {public static void main(String[] args) {SpringApplication.run(EurekaApplication.class, args);}} -
6、直接在浏览器上输入
http://localhost:8761/如下就表示配置成功
三、客户端配置
-
1、引入依赖包
<!-- 客户端端 --> <dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId> </dependency> -
2、在配置文件中添加
eurec.client.server-url.defaultZone=http://localhost:8761/eureka/ -
3、在启动文件中添加
@SpringBootApplication @EnableEurekaClient public class SystemApplication {public static void main(String[] args) {SpringApplication.run(SystemApplication.class, args);}} -
4、刷新浏览器查看服务是否已经注册成功

四、网关的配置
-
1、创建一个网关模块
-
2、在网关中引入依赖包
<dependencies><!-- 网关依赖 --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-gateway</artifactId></dependency><!-- 客户端端 --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-netflix-eureka-client</artifactId></dependency> </dependencies> -
3、修改配置文件
server.port=8000 spring.application.name=gateway server.servlet.context-path=/gateway spring.main.web-application-type=reactive eurec.client.server-url.defaultZone=http://localhost:8761/eureka/# 注册一个服务 spring.cloud.gateway.routes[0].id=system spring.cloud.gateway.routes[0].uri.=http://localhost:9001 spring.cloud.gateway.routes[0].predicates[0].name=Path spring.cloud.gateway.routes[0].predicates[0].args[0]=/system/** # 注册一个服务 spring.cloud.gateway.routes[1].id=file spring.cloud.gateway.routes[1].uri.=http://localhost:9000 spring.cloud.gateway.routes[1].predicates[0].name=Path spring.cloud.gateway.routes[1].predicates[0].args[0]=/file/** -
4、启动文件
package com.example;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; import org.springframework.cloud.netflix.eureka.EnableEurekaClient;@SpringBootApplication @EnableEurekaClient public class GatewayApplication {public static void main(String[] args) {SpringApplication.run(GatewayApplication.class, args);}} -
5、使用网关的地址直接访问别的路由
http://localhost:8000/system/hello
相关文章:
spring-clound基础开发
一、使用openfeig调用远程另外一个服务接口 1、创建一个spring boot工程,并且创建2个模块来当微服务模块 2、分别配置2个模块的启动文件 3、分别两个模块下创建一个测试的控制器 4、在项目的根目录的pom.xml中添加spring-cloud配置 <properties><java.version>1…...
基于SSM的劳务外包管理系统的设计与实现
末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:Vue 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是 目录…...
uni-app学习笔记(二)
目录 一、路由与页面跳转 1、tabar与普通页面跳转例子 2、navigateTo 3、switchTab 二、vue组件 1、传统vue组件的使用 2、easycom 三、uView组件库 1、安装配置 2、引入配置 3、使用 四、Vuex 1、认识 2、state基本使用 3、mapState使用 五、网络请求 1、封装…...
使用axios拦截器解决前端并发冲突问题
使用 axios 拦截器解决「 前端并发冲突 」 问题 背景 并发冲突问题, 是日常开发中一个比较常见的问题。 不同用户在较短时间间隔内变更数据,或者某一个用户进行的重复提交操作都可能导致并发冲突。 并发场景在开发和测试阶段难以排查全面,…...
IPv6详解
目录: 第一部分 IPv6的诞生背景和引起的主要变化 第二部分 IPv6数据报的基本首部和扩展首部 第三部分 IPv6地址 第四部分 IPv4向IPv6过渡 第一部分 IPv6的诞生背景和引起的主要变化 一.IPv6的诞生背景 IPv4存在设计缺陷: IPv4的设计者最初并没有想到该协议会在全球范围内广…...
【C++干货铺】STL简述 | string类的使用指南
个人主页点击直达:小白不是程序媛 C系列专栏:C干货铺 代码仓库:Gitee 目录 什么是STL STL的版本 STL的六大组件 STL的缺陷 string类 C语言中的字符串 标准库中的string类 string类常用的接口使用指南 string类中常见的构造 strin…...
合肥工业大学数字逻辑实验三
** 数字逻辑 实验报告** ✅作者简介:CSDN内容合伙人、信息安全专业在校大学生🏆 🔥系列专栏 :hfut实验课设 📃新人博主 :欢迎点赞收藏关注,会回访! 💬舞台再大,你不上台,永远是个观众。平台再好,你不参与,永远是局外人。能力再大,你不行动,只能看别人成功!…...
【mmrotate】*** is not in the task util registry
问题: 使用mmrotate-1.x 自定义类时,明明已经注册,并添加到__init__.py中,但提示没有注册 from mmdet.registry import MODELSMODELS.register_module() class RotatedATSSAssigner(BaseAssigner): 分析: 具体看提…...
使用bitmap实现可回收自增id
需求描述 设计一个方法,每次调用返回一个自增id,同时需要满足以下要求。 可更新id的状态为已使用,已使用的id下次调用时不再返回可修改某个id的状态为未使用,下次调用时设为未使用状态的id可重新被返回 思路 思路一࿱…...
0基础学习VR全景平台篇第118篇:利用动作录制器功能避免重复操作 - PS教程
上课!全体起立~ 大家好,欢迎观看蛙色官方系列全景摄影课程! 嗨,大家好。欢迎收看蛙色VR系列教程之PS利用动作记录器节约补地时间。 大家拍摄在补地的时候,利用插件选择输入输出选项的时候,每次重复操作…...
大数据Doris(十九):数据导入(Load)
文章目录 数据导入(Load) 一、Broker load 二、Stream load 三、Insert 四、Multi load...
BP神经网络的数据分类——语音特征信号分类
大家好,我是带我去滑雪! BP神经网络,也称为反向传播神经网络,是一种常用于分类和回归任务的人工神经网络(ANN)类型。它是一种前馈神经网络,通常包括输入层、一个或多个隐藏层和输出层。BP神经网…...
基于SSM+Vue的随心淘网管理系统
末尾获取源码 开发语言:Java Java开发工具:JDK1.8 后端框架:SSM 前端:Vue 数据库:MySQL5.7和Navicat管理工具结合 服务器:Tomcat8.5 开发软件:IDEA / Eclipse 是否Maven项目:是 目录…...
大语言模型的关键技术(二)
一、Transformer 语言模型存在明显的扩展效应: 更大的模型/数据规模和更多的训练计算通常会导致模型能力的提升。 1、扩展效应的原因: 模型规模:增加模型的规模,即增加模型的参数数量和层数,通常会提高模型的表示能力…...
世界互联网大会领先科技奖发布 百度知识增强大语言模型关键技术获奖
11月8日,2023年世界互联网大会乌镇峰会正式开幕,今年是乌镇峰会举办的第十年,本次峰会的主题为“建设包容、普惠、有韧性的数字世界——携手构建网络空间命运共同体”。 目录 百度知识增强大语言模型关键技术荣获“世界互联网大会领先科技奖”…...
2023.11.09 homework (2)
【七年级上数学】 教别人也是教自己,总结下: 13)找规律的题目,累加题目,要整体看,不然不容易算出来,求最大值,那么就是【最大值集群和】减去【最小集群和】就是最大值 9-12&#x…...
ARMday01(计算机理论、ARM理论)
计算机理论 计算机组成 输入设备、输出设备、运算器、控制器、存储器 1.输入设备:将编写好的软件代码以及相关的数据输送到计算机中,转换成计算机能够识别、处理和存储的数据形式 键盘、鼠标、手柄、扫描仪、 2.输出设备:将计算机处理好的数…...
C#中通过LINQtoXML加载、创建、保存、遍历XML和修改XML树
目录 一、加载、创建、保存、遍历XML 1.加载XML (1)从已有文件加载XML (2)从字符串加载XML 2.创建并保存XML 3.遍历XML 4.示例源码 5.运行 二、修改XML的树 1.添加节点 2.删除 3.更新 4.示例源码 5.运行效果 三、…...
进程管理(二)
进程并发制约关系及临界区 (3)比如A的n为MAX,此时B执行buf[Max]出错。 临界区是访问临界资源的代码。 par并发执行 进程同步机制准则 让权等待:主动让位 进程互斥访问临界资源的软件解决方案 算法1——设置访问编号 no_op是空指令,做空操作,空转指令。no_op依然会占…...
数字图像处理 基于numpy库的傅里叶变换
一、傅里叶变换 图像可以用两个域表示:空间域和频域。空间域是图像最常见的表示形式,其中像素值表示图像中每个点的亮度或颜色。另一方面,频域将图像表示为不同频率和幅度的正弦波的集合。 傅里叶变换(一种图像处理中使用的数学技术)可以通过分析图像的频率分量并揭示隐藏…...
【根据当天日期输出明天的日期(需对闰年做判定)。】2022-5-15
缘由根据当天日期输出明天的日期(需对闰年做判定)。日期类型结构体如下: struct data{ int year; int month; int day;};-编程语言-CSDN问答 struct mdata{ int year; int month; int day; }mdata; int 天数(int year, int month) {switch (month){case 1: case 3:…...
【JavaEE】-- HTTP
1. HTTP是什么? HTTP(全称为"超文本传输协议")是一种应用非常广泛的应用层协议,HTTP是基于TCP协议的一种应用层协议。 应用层协议:是计算机网络协议栈中最高层的协议,它定义了运行在不同主机上…...
Unity3D中Gfx.WaitForPresent优化方案
前言 在Unity中,Gfx.WaitForPresent占用CPU过高通常表示主线程在等待GPU完成渲染(即CPU被阻塞),这表明存在GPU瓶颈或垂直同步/帧率设置问题。以下是系统的优化方案: 对惹,这里有一个游戏开发交流小组&…...
相机Camera日志实例分析之二:相机Camx【专业模式开启直方图拍照】单帧流程日志详解
【关注我,后续持续新增专题博文,谢谢!!!】 上一篇我们讲了: 这一篇我们开始讲: 目录 一、场景操作步骤 二、日志基础关键字分级如下 三、场景日志如下: 一、场景操作步骤 操作步…...
python/java环境配置
环境变量放一起 python: 1.首先下载Python Python下载地址:Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个,然后自定义,全选 可以把前4个选上 3.环境配置 1)搜高级系统设置 2…...
条件运算符
C中的三目运算符(也称条件运算符,英文:ternary operator)是一种简洁的条件选择语句,语法如下: 条件表达式 ? 表达式1 : 表达式2• 如果“条件表达式”为true,则整个表达式的结果为“表达式1”…...
爬虫基础学习day2
# 爬虫设计领域 工商:企查查、天眼查短视频:抖音、快手、西瓜 ---> 飞瓜电商:京东、淘宝、聚美优品、亚马逊 ---> 分析店铺经营决策标题、排名航空:抓取所有航空公司价格 ---> 去哪儿自媒体:采集自媒体数据进…...
Swagger和OpenApi的前世今生
Swagger与OpenAPI的关系演进是API标准化进程中的重要篇章,二者共同塑造了现代RESTful API的开发范式。 本期就扒一扒其技术演进的关键节点与核心逻辑: 🔄 一、起源与初创期:Swagger的诞生(2010-2014) 核心…...
九天毕昇深度学习平台 | 如何安装库?
pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子: 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...
【JVM】Java虚拟机(二)——垃圾回收
目录 一、如何判断对象可以回收 (一)引用计数法 (二)可达性分析算法 二、垃圾回收算法 (一)标记清除 (二)标记整理 (三)复制 (四ÿ…...
