2024-01-16(SpringCloudMybati)

1.前后端分离:前后端分离开发的理解以及和前后端不分离的区别_前后端交互和前后端分离的区别-CSDN博客

2.resultMap是用于sql语句得到的结果集实体类之间进行关系映射的。

要求:结果集中的列名和实体类的中属性名要一一对应,并且个数保持一致。才能实现映射,不然无法没有被映射到属性的数据。

3.Mybatis中一对一关系的时候,resultMap的两种书写方式:

第一种:在新的resultMap标签中加入一对一关系的对象属性:

第二种:在新的resultMap标签中使用<association/>标签

4.Mybatis中的一对多情况:

public class User {
    private Integer id;
    private String username;
    private Integer age;
    private String address;
    private List<Role> roles;
}

User和Role一对多了。

一对多的时候resultMap中设置关联的实体类的映射规则,不外乎就是使用<collection/>标签:

5.实际上,实体类一对一,实体类一对多,无外乎就是改变<resultMap/>标签中书写的映射规则。

6.实际项目中,一般不会把所有数据全部查出来,一般都会进行分页查询,因为实际项目中一张数据库表包含很多数据。

7.Mybatis的分页插件:PageHelper。

8.Mybatis一级二级缓存。

---------------------------------------------------------------------------------------------------------------------------------

SpringCloud

9.单体架构&微服务架构

微服务架构:

微服务架构会面临的相关问题:服务拆分、远程调用、服务治理、请求路由、身份认证、配置管理、服务保护、分布式事务、异步通信、消息可靠性、延迟消息、分布式搜索、倒排索引、数据聚合。。。。。。

10.单体项目:将业务的所有功能集中在一个项目中开发,打成一个包部署。

微服务架构,服务化思想指导下的一套架构方案。服务化,是指把单体架构中的功能模块拆分为多个独立的项目。(微项目----微服务)

11.SpringCloud用于解决微服务架构的项目在开发当中,所会面临的一些问题。在Springboot强大的自动装配和依赖管理的特性支持下,十分方便的将SpringCloud当中囊括的技术,整合到微服务项目开发当中。

12.SpringCloudAlibaba和SpringCloud:SpringCloud制定了标准,二者使用起来只是依赖不同,使用方式,原理几乎都是一样的。

13.微服务拆分:

什么时候拆分?创业型项目,先采用单体项目,快速开发,快速试错。随着规模扩大,逐渐拆分;已经明确的大型项目,资金充足,目标明确,可以直接选择微服务架构,避免后续拆分的麻烦。

怎么拆分?从拆分的目标来说,要做到:

高内聚:每个微服务的职责要尽可能单一,包含的业务互关联度高、完整度高。

低耦合:每个微服务的功能要相对独立,尽量减少对其他微服务的依赖。

从拆分的方式来说,一般包含两种方式:

纵向拆分:按照业务模块来拆分。

横向拆分:提取公共服务,提高复用性。

不同场景可以选择不同拆分方式。

14.当把项目拆分为一个个微服务之后,不同服务之间走网络进行接口调用,Spring为我们提供了一个RestTemplate工具(后面不会用这个工具类),可以方便的实现Http请求的发送。

但是在集群条件下,RestTemplate这个工具就不好用了。因为这个远程发送Http请求的方式固定死了url地址。

15.服务治理:

注册中心来解决服务治理的问题:注册服务,采用何种算法(负载均衡)选择服务,心跳机制检查服务是否存活,推送最新的注册中心存活的服务。

16.开源的注册中心组件Nacos(国产)

17.服务注册的步骤:

① 引入nacos discovery依赖

<dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>

② 配置文件配置nacos地址

18.服务发现:

 19.openFeign:简化从注册中心注册和拉取服务。

openFeign采用了SpringMVC的注解(GetMapping,PostMapping。。。)来请求注册中心中服务的接口,降低使用成本。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/333413.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Linux Shell脚本入门

目录 介绍 编写格式与执行方式 Shell脚本文件编写规范 脚本文件后缀名规范 首行格式规范 注释格式 shell脚本HelloWord入门案例 需求 效果 实现步骤 脚本文件的常用执行三种方式 介绍 3种方式的区别 小结 多命令处理 Shell变量 环境变量 目标 Shell变量的介绍 变量类型 系统环境…

Java:token自动续期,使用Gateway过滤器—GlobalFilter

文章目录 前言一、使用步骤1.实体user2.登录AuthController3.网关GatewayFilter4.续约TokenService 总结 前言 在系统中&#xff0c;在 token 的有效期内&#xff0c;可以登录使用&#xff0c;并且要求如果一直使用系统&#xff0c;一直保持登录状态&#xff0c;而不是 token …

MySQL存储函数与存储过程习题

创建表并插入数据&#xff1a; 字段名 数据类型 主键 外键 非空 唯一 自增 id INT 是 否 是 是 否 name VARCHAR(50) 否 否 是 否 否 glass VARCHAR(50) 否 否 是 否 否 ​ ​ sch 表内容 id name glass 1 xiaommg glass 1 2 xiaojun glass 2 1、创建一个可以统计表格内记录…

pytest文档35-Hooks函数之统计测试结果(pytest_terminal_summary)

前言 用例执行完成后&#xff0c;我们希望能获取到执行的结果&#xff0c;这样方便我们快速统计用例的执行情况。 也可以把获取到的结果当成总结报告&#xff0c;发邮件的时候可以先统计测试结果&#xff0c;再加上html的报告。 pytest_terminal_summary 关于TerminalReport…

Kubernetes(K8S)拉取本地镜像部署Pod 实现类似函数/微服务功能(可设置参数并实时调用)

以两数相加求和为例&#xff0c;在kubernetes集群拉取本地的镜像&#xff0c;实现如下效果&#xff1a; 1.实现两数相加求和 2.可以通过curl实时调用&#xff0c;参数以GET方式提供&#xff0c;并得到结果。&#xff08;类似调用函数&#xff09; 一、实现思路 需要准备如下的…

绑定class,条件渲染,列表过滤,列表排序

目录​​​​​​​ 绑定class 条件渲染 列表过滤 列表排序 绑定class <div class"normal" :class"mood" click"changename">111{{name}}</div><div class"normal" :class"arr">111{{name}}</div…

AI嵌入式K210项目(15)-安全散列算法加速器

文章目录 前言一、什么是SHA256&#xff1f;实验原理 二、K210的安全散列算法加速器三、实验过程总结 前言 K210内置了丰富的加速器&#xff0c;包括神经网络处理器 (KPU)&#xff0c;AES(高级加密加速器)&#xff0c;APU 麦克风阵列语音数据加速计算处理器&#xff0c;现场可…

计算机网络-ACL访问控制列表

上一篇介绍NAT时候就看到了ACL这个东西了&#xff0c;这个是什么意思&#xff1f;有什么作用呢&#xff1f; 一、ACL访问控制列表 访问控制列表 (ACL, Access Control List)是由一系列permit或deny语句组成的、有序规则的列表。ACL是一个匹配工具&#xff0c;能够对报文进行匹配…

前端学习路线图和一些经验

关于前端目前个人建议的一个路线,也是自己之前前端学习时候的一个大致路线,给想要学习前端的小白一个参考,以前自己刚开始接触前端的时候就是不知道该按照什么路线学习 eg-前端是做什么的&#xff1f; 就是开发网站,移动端&#xff0c;小程序之类的页面 调调接口完成页面的渲…

异步非阻塞事件驱动架构的具体流程解析

异步非阻塞事件驱动架构是一种高效的编程和系统设计模式&#xff0c;特别适用于需要处理大量并发连接和请求的应用&#xff0c;如Web服务器。 1. 初始化和启动 启动过程&#xff1a;当Nginx启动时&#xff0c;它的主进程初始化配置并启动多个工作进程。工作进程创建&#xff1…

虚拟线程探索与实践

优质博文&#xff1a;IT-BLOG-CN 一、简介 虚拟线程是轻量级线程&#xff0c;极大地减少了编写、维护和观察高吞吐量并发应用的工作量。虚拟线程是由JEP 425提出的预览功能&#xff0c;并在JDK 19中发布&#xff0c;JDK 21中最终确定虚拟线程&#xff0c;以下是根据开发者反馈…

杂记 | 在Linux上使用Docker-compose安装单机版Milvus向量数据库并配置访问控制和可视化面板(Attu)

文章目录 01 Milvus向量数据库简介02 安装前的准备03 安装3.1 创建milvus工作目录3.2 下载并编辑docker-compose.yml3.3 下载milvus.yml文件3.4 启动milvus 04 访问可视化面板并修改密码 01 Milvus向量数据库简介 Milvus是一款开源的向量数据库&#xff0c;它专为AI应用设计&a…

移动端 h5-table react版本支持虚拟列表

介绍 适用于 react ts 的 h5 移动端项目 table 组件 github 链接 &#xff1a;https://github.com/duKD/react-h5-table 有帮助的话 给个小星星 有两种表格组件 常规的&#xff1a; 支持 左侧固定 滑动 每行点击回调 支持 指定列排序 支持滚动加载更多 效果和之前写的vue…

聚类模型评估指标

聚类模型评估指标-轮廓系数 计算样本i到同簇其它样本到平均距离ai&#xff0c;ai越小&#xff0c;说明样本i越应该被聚类到该簇&#xff08;将ai称为样本i到簇内不相似度&#xff09;&#xff1b;计算样本i到其它某簇Cj的所有样本的平均距离bij&#xff0c;称为样本i与簇Cj的…

鉴源实验室|自动驾驶仿真测试技术分析

01 引言 随着科技的不断发展&#xff0c;自动驾驶技术逐渐成为汽车行业的热门话题。然而&#xff0c;要将自动驾驶车辆投放到真实道路上之前&#xff0c;必须进行广泛的测试&#xff0c;以确保其在各种情况下都能安全可靠地运行。自动驾驶车辆的测试是一个复杂而昂贵的过程。…

AQY212S光耦合器:特性和应用揭秘

在不断发展的电子元件领域&#xff0c;AQY212S光耦合器作为适合众多应用的多功能且可靠的解决方案脱颖而出。作为光耦合器技术专家&#xff0c;让我们深入研究AQY212S的功能和应用&#xff0c;揭开这款令人印象深刻的器件的神秘面纱。 AQY212S是一款固态继电器(SSR)光耦合器&a…

【docker-compose】【nginx】内网环境https配置

目录 1、openssl生成自签名证书和私钥2、nginx.conf配置ssl3、docker-compose挂载 1、openssl生成自签名证书和私钥 在部署服务器上&#xff0c;新建cert目录&#xff0c;执行以下指令&#xff0c;然后生成.crt和.key文件 openssl req -newkey rsa:2048 -nodes -keyout rsa_pri…

2023年全球软件架构师峰会(ArchSummit深圳站):核心内容与学习收获(附大会核心PPT下载)

本次峰会是一次重要的技术盛会&#xff0c;旨在为全球软件架构师提供一个交流和学习的平台。本次峰会聚焦于软件架构的最新趋势、最佳实践和技术创新&#xff0c;吸引了来自世界各地的软件架构师、技术专家和企业领袖。 在峰会中&#xff0c;与会者可以了解到数字化、AIGC、To…

指针定义与使用

系列文章目录 指针定义与使用 指针定义与使用 系列文章目录一、指针的定义与使用二、相关案例 一、指针的定义与使用 指针 指针的定义和使用&#xff1a; 1、指针&#xff1a;是一种数据类型 指针变量也是一种变量 int* p int*是数据类型 p是指针变量 2、指针格式&#xff1a;…