当前位置: 首页 > news >正文

【Spring Cloud总结】1、服务提供者与服务消费者快速上手

 

目录

 文件结构

 代码

 1、api

1.1实体类(Dept )

1.2数据库

 2、provider

2.1 DeptController 

2.2 DeptDao 

2.3 DeptService 

2.4 DeptServiceImpl 

2.5 application.yml

           3、consumer

3.1 ConfigBean 

3.2 DeptConsumerController 

测试 

1.启动provider

 访问provider能够得到结果

2.启动consummer

 能够通过consummer获得结果


 文件结构

 代码

 1、api

1.1实体类(Dept )

@Data
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = true) //链式写法
public class Dept implements Serializable {private Long deptno;private String dname;//一个服务对应一个数据库,同一信息可能存在不同数据库private String db_source;public Dept(String dname) {this.dname = dname;}
}

1.2数据库

 

 2、provider

2.1 DeptController 

 

//提供restful服务
@RestController
public class DeptController {@Autowiredprivate DeptService deptService;@PostMapping("/dept/add")public boolean addDept(Dept dept){return deptService.addDept(dept);}@GetMapping("/dept/get/{id}")public Dept get(@PathVariable("id") Long id){return deptService.queryById(id);}@GetMapping("/dept/list")public List<Dept> queryAll(){return deptService.queryAll();}}

2.2 DeptDao 

@Mapper
@Repository
public interface DeptDao {public boolean addDept(Dept dept);public Dept queryById(Long id);public List<Dept> queryAll();
}

2.3 DeptService 

public interface DeptService {public boolean addDept(Dept dept);public Dept queryById(Long id);public List<Dept> queryAll();
}

2.4 DeptServiceImpl 

@Service
public class DeptServiceImpl implements DeptService{@Autowiredprivate DeptDao deptDao;@Overridepublic boolean addDept(Dept dept) {return deptDao.addDept(dept);}@Overridepublic Dept queryById(Long id) {return deptDao.queryById(id);}@Overridepublic List<Dept> queryAll() {return deptDao.queryAll();}
}

2.5 application.yml

server:port: 8001#mybatis配置
mybatis:type-aliases-package: com.guo.springcloud.pojoconfig-location:mapper-locations: classpath:mybatis/mapper/*.xml#spring配置
spring:application:name: springcloud-provider-deptdatasource:type: com.alibaba.druid.pool.DruidDataSourcedriver-class-name: com.mysql.cj.jdbc.Driverurl: jdbc:mysql://localhost:3306/db01?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8username: rootpassword: gj001212

3、consumer

3.1 ConfigBean 

@Configuration
public class ConfigBean {@Beanpublic RestTemplate getRestTemplate(){return new RestTemplate();}}

3.2 DeptConsumerController 


@RestController
public class DeptConsumerController {//理解:消费者,不应该有service层//RestTemplate ... 供我们直接调用就可以了!//(url,实体:map,Class<T> responseType)@Autowiredprivate RestTemplate restTemplate;//提供多种便捷访问远程http服务的方法,简单的Restful服务模板private static final String REST_URL_PREFIX = "http://localhost:8001";@RequestMapping("/consumer/dept/add")public boolean add(Dept dept){return  restTemplate.postForObject(REST_URL_PREFIX+"/dept/add",dept,Boolean.class);}@RequestMapping("/consumer/dept/get/{id}")public Dept get(@PathVariable("id") Long id){return restTemplate.getForObject(REST_URL_PREFIX+"/dept/get/"+id,Dept.class);}@RequestMapping("/consumer/dept/list")public List<Dept> queryAll(){return restTemplate.getForObject(REST_URL_PREFIX+"/dept/list",List.class);}}

测试 

1.启动provider

  访问provider能够得到结果

2.启动consummer

 能够通过consummer获得结果

 

相关文章:

【Spring Cloud总结】1、服务提供者与服务消费者快速上手

目录 文件结构 代码 1、api 1.1实体类&#xff08;Dept &#xff09; 1.2数据库 2、provider 2.1 DeptController 2.2 DeptDao 2.3 DeptService 2.4 DeptServiceImpl 2.5 application.yml 3、consumer 3.1 ConfigBean 3.2 DeptConsumerController 测试 1.启动…...

若依项目学习之登录生成验证码

若依项目学习之登录生成验证码 使用DefaultKaptcha生成验证码 /*** 验证码配置* * author ruoyi*/ Configuration public class CaptchaConfig {/*** 生成字符类型的验证码**/Bean(name "captchaProducer")public DefaultKaptcha getKaptchaBean(){DefaultKaptcha…...

计算机网络5:数据在两台计算机之间是怎样传输的?

数据在两台计算机之间的传输总的来说包括了封装和解封两个过程 封装&#xff08;5层协议&#xff09; 以传送一张图片为例 **应用层&#xff1a;**将jpg格式的图片数据转化成计算机可以识别的0101的二进制的比特流 **传输层&#xff1a;**将应用层传输下来的数据进行分段&…...

就现在!为元宇宙和Web3对互联网的改造做准备!

欢迎来到Hubbleverse &#x1f30d; 关注我们 关注宇宙新鲜事 &#x1f4cc; 预计阅读时长&#xff1a;8分钟 本文仅代表作者个人观点&#xff0c;不代表平台意见&#xff0c;不构成投资建议。 如今&#xff0c;互联网是各种不同的网站、应用程序和平台的集合。由于彼此分离…...

【mysql数据库】

目录SQL数据库分页聚合函数表跟表之间的关联关系SQL中怎么将行转成列SQL注入将一张表的部分数据更新到另一张表WHERE和HAVING的区别索引索引分类如何创建及保存MySQL的索引&#xff1f;怎么判断要不要加索引&#xff1f;索引设计原理只要创建了索引&#xff0c;就一定会走索引吗…...

【测试开发】web 自动化测试 --- selenium4

目录1. 什么是自动化为什么要做自动化2. 为什么选择selenium作为我使用的web自动化工具3. 什么是驱动&#xff1f;驱动的工作原理是什么5. 第一个自动化程序演示6. selenium基本语法6.1 定位元素的方法6.2 操作页面元素6.3 等待6.4 信息打印获取当前页面句柄&#xff0c;窗口切…...

Elasticsearch7.8.0版本进阶——路由计算

目录一、路由计算1.1、路由计算的前提理解1.2、路由计算的概述1.3、路由计算的概述一、路由计算 1.1、路由计算的前提理解 当索引一个文档的时候&#xff0c;文档会被存储到一个主分片中。Elasticsearch 如何知道一个文档应该存放到哪个分片中呢&#xff1f;当我们创建文档时…...

c#反射-获取属性和字段的值

演示类 示例类具有一个私有实例字段&#xff0c;一个实例属性&#xff0c;一个实例字段&#xff0c;一个静态私有属性。 class Fight {private int hp;public int Hp{get > hp; set{if (value > 0){ hp value; }else if (-value > Def){ hp value - Def; }}}publi…...

前后端分离-小项目-1前端布局

技术栈前后端分离开发&#xff0c;前端主体框架Vue3后端基础框架Spring-Boot1.前端技术栈&#xff1a;Vue3AxiosElementPlus2.后端技术栈&#xff1a;Spring BootMyBatis Plus3.数据库-MySQL4.项目的依赖管理-Maven5.分页-MyBatis Plus的分页插件环境搭建安装Node.js LTSnode.j…...

基于jsp的网络电子相册的设计与实现

技术&#xff1a;Java、JSP等摘要&#xff1a;随着科学技术的不断进步&#xff0c;云技术以及大数据的不断完善&#xff0c;越来越多的网络忠实用户告别了冲洗相片的时代&#xff0c;他们更喜欢将相片上传至网络&#xff0c;这样就省去了携带和查找的麻烦&#xff0c;随时随地只…...

Python快速上手系列--类--详解篇

本章是自动化测试的真正开始&#xff0c;因为在后续的过程中&#xff0c;你会接触到unittest框架&#xff0c;pytest框架&#xff0c;而不仅仅只是写一个函数selenium脚本这么简单了。1、创建类1.1、了解类我们首先了解一下&#xff0c;为什么要使用类&#xff0c;类可以拿来干…...

Dubbo基本原理和用法讲解

Dubbo基本原理和用法讲解 序言&#xff1a;学习一项新技术&#xff0c;一般从是什么、为什么、怎么用三个方面进行学习。本篇文章也不例外&#xff0c;笔者将从Dubbo是什么&#xff1f;、为什么会产生Dubbo技术&#xff1f;、如何在项目中使用Dubbo技术。最后&#xff0c;笔者…...

TCP详解及面试相关问题

文章目录1、计算机模型2、客户端和服务端通信——TCP协议&#xff08;1&#xff09;socket套接字&#xff08;2&#xff09;TCP三次握手——创建socket&#xff08;3&#xff09;连接的本质&#xff08;4&#xff09;TCP四次挥手——释放socket资源&#xff08;5&#xff09;TC…...

LVGL V9.0基于VS2022仿真搭建

完整Demo&#xff0c;lvgl,lvgl_drivers相关资料下载 链接&#xff1a;https://pan.baidu.com/s/1DNJeHdoaPyfe1BsLb9wjRg 提取码&#xff1a;wov7 其它资料下载 链接&#xff1a;https://pan.baidu.com/s/1nV9jojPEPWSWZdYhaCZWTA 提取码&#xff1a;91j8 下载资料后解压文…...

多线程面试题开胃菜2(5道)

一.一个线程的生命周期有哪几种状态&#xff1f;它们之间如何流转的&#xff1f;NEW&#xff1a;毫无疑问表示的是刚创建的线程&#xff0c;还没有开始启动。RUNNABLE: 表示线程已经触发 start()方式调用&#xff0c;线程正式启动&#xff0c;线程处于运行中状态。BLOCKED&…...

第三次作业

一、单表查询素材&#xff1a; 表名&#xff1a;worker-- 表中字段均为中文&#xff0c;比如 部门号 工资 职工号 参加工作 等CREATE TABLE worker (部门号 int(11) NOT NULL,职工号 int(11) NOT NULL,工作时间 date NOT NULL,工资 float(8,2) NOT NULL,政治面貌 varchar(10) N…...

基础算法(直接插入,希尔排序,快排,归并,折半查找)

/*直接插入&#xff1a;把待排序序列分为有无序区和和无序区&#xff0c;使用无序区的数据一次插入倒有序区中&#xff0c;最终结果尾有序序列 1> 把数据分为有序区和无序区&#xff0c;默认第一个元素在有序区&#xff0c;剩下在无序区 2> 外层循环&#xff0c;循环无…...

电子学会2022年12月青少年软件编程(图形化)等级考试试卷(一级)答案解析

目录 一、单选题(共25题&#xff0c;共50分) 二、判断题(共10题&#xff0c;共20分) 三、编程题(共2题&#xff0c;共30分) 青少年软件编程&#xff08;图形化&#xff09;等级考试试卷&#xff08;一级&#xff09; 一、单选题(共25题&#xff0c;共50分) 1. 小明想在开始…...

基于JAVA的超级玛丽设计与实现

技术&#xff1a;Java等摘要&#xff1a;随着计算机技术及网络技术的不断发展&#xff0c;电子游戏越来越普及。经典游戏“超级玛丽”因其本身所具有的娱乐性与教育意义而被人们广泛接受&#xff0c;在广大的青少年玩家中享有极高的知名度。Java语言作为一种完全面向对象的程序…...

硬件工程师入门基础知识(一)基础元器件认识(二)

硬件工程师入门基础知识 &#xff08;一&#xff09;基础元器件认识&#xff08;二&#xff09; tips&#xff1a;学习资料和数据来自《硬件工程师炼成之路》、百度百科、网上资料。 1.二极管 2.三极管 3.MOS管 4.IGBT 5.晶振 1.二极管 肖特基二极管和硅二极管的比较&#…...

RestClient

什么是RestClient RestClient 是 Elasticsearch 官方提供的 Java 低级 REST 客户端&#xff0c;它允许HTTP与Elasticsearch 集群通信&#xff0c;而无需处理 JSON 序列化/反序列化等底层细节。它是 Elasticsearch Java API 客户端的基础。 RestClient 主要特点 轻量级&#xff…...

铭豹扩展坞 USB转网口 突然无法识别解决方法

当 USB 转网口扩展坞在一台笔记本上无法识别,但在其他电脑上正常工作时,问题通常出在笔记本自身或其与扩展坞的兼容性上。以下是系统化的定位思路和排查步骤,帮助你快速找到故障原因: 背景: 一个M-pard(铭豹)扩展坞的网卡突然无法识别了,扩展出来的三个USB接口正常。…...

Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误

HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误&#xff0c;它们的含义、原因和解决方法都有显著区别。以下是详细对比&#xff1a; 1. HTTP 406 (Not Acceptable) 含义&#xff1a; 客户端请求的内容类型与服务器支持的内容类型不匹…...

Java 8 Stream API 入门到实践详解

一、告别 for 循环&#xff01; 传统痛点&#xff1a; Java 8 之前&#xff0c;集合操作离不开冗长的 for 循环和匿名类。例如&#xff0c;过滤列表中的偶数&#xff1a; List<Integer> list Arrays.asList(1, 2, 3, 4, 5); List<Integer> evens new ArrayList…...

python如何将word的doc另存为docx

将 DOCX 文件另存为 DOCX 格式&#xff08;Python 实现&#xff09; 在 Python 中&#xff0c;你可以使用 python-docx 库来操作 Word 文档。不过需要注意的是&#xff0c;.doc 是旧的 Word 格式&#xff0c;而 .docx 是新的基于 XML 的格式。python-docx 只能处理 .docx 格式…...

C++中string流知识详解和示例

一、概览与类体系 C 提供三种基于内存字符串的流&#xff0c;定义在 <sstream> 中&#xff1a; std::istringstream&#xff1a;输入流&#xff0c;从已有字符串中读取并解析。std::ostringstream&#xff1a;输出流&#xff0c;向内部缓冲区写入内容&#xff0c;最终取…...

C# SqlSugar:依赖注入与仓储模式实践

C# SqlSugar&#xff1a;依赖注入与仓储模式实践 在 C# 的应用开发中&#xff0c;数据库操作是必不可少的环节。为了让数据访问层更加简洁、高效且易于维护&#xff0c;许多开发者会选择成熟的 ORM&#xff08;对象关系映射&#xff09;框架&#xff0c;SqlSugar 就是其中备受…...

第 86 场周赛:矩阵中的幻方、钥匙和房间、将数组拆分成斐波那契序列、猜猜这个单词

Q1、[中等] 矩阵中的幻方 1、题目描述 3 x 3 的幻方是一个填充有 从 1 到 9 的不同数字的 3 x 3 矩阵&#xff0c;其中每行&#xff0c;每列以及两条对角线上的各数之和都相等。 给定一个由整数组成的row x col 的 grid&#xff0c;其中有多少个 3 3 的 “幻方” 子矩阵&am…...

Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信

文章目录 Linux C语言网络编程详细入门教程&#xff1a;如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket&#xff08;服务端和客户端都要&#xff09;2. 绑定本地地址和端口&#x…...

腾讯云V3签名

想要接入腾讯云的Api&#xff0c;必然先按其文档计算出所要求的签名。 之前也调用过腾讯云的接口&#xff0c;但总是卡在签名这一步&#xff0c;最后放弃选择SDK&#xff0c;这次终于自己代码实现。 可能腾讯云翻新了接口文档&#xff0c;现在阅读起来&#xff0c;清晰了很多&…...