在很多情况下,我们的功能应该是必须登录之后才能访问,比如说访问我的订单接口,如何实现这个功能呢?我们通常的做法是在处理请求之前,增加一层接口校验: 如果校验通过(已登录),则:正常返回数据。 如果校验未通过(未登录),则:抛出异常,告知其需要先进行登录。 接下来, 我们来分析一下这个过程。 登录验证过程 既然是登录校验,所以还得包含登录,完整的过程…
MyBatis-Plus(简称 MP)是一个 MyBatis的增强工具(单表的访问),在 MyBatis 的基础上只做增强不做改变,为简化开发、提高效率而生(官方网址),它具有如下特性: 愿景 我们的愿景是成为 MyBatis 最好的搭档,就像魂斗罗中的 1P、2P,基友搭配,效率翻倍。 无侵入:只做增强不做改变,引入它不会对现有工程产生影响,如丝…
它解决了传统 Future 的局限性,提供了更灵活、强大的功能。 一个CompletableFuture对象主要有两个功能: 表示一个Future对象,即可以表示一个异步任务的执行结果 可以实现多个异步任务之间的功能依赖,对多个异步任务之间进行"组合"。 什么是组合呢?比如"异步任务A需要在异步任务B之后执行,那么可以通过Com…
引言 Web发展历程 迄今为止,互联网的发展已经经历了两个阶段:Web 1.0 和 Web 2.0。 阶段特点代表Web 1.0静态网站,单方面信息传递,无互动搜狐、新浪、网易Web 2.0内容互动,用户成为内容提供方微博、B站、抖音 传统关系型数据库的挑战 进入 Web 2.0 时代后,数据爆炸式增长,传统关系型数据库面临以下挑战: High P…
Nginx 简介 什么是 Nginx Nginx(发音同 "engine x")是一款高性能的 HTTP 服务器、反向代理服务器 及 邮件代理服务器(IMAP/POP3/SMTP)。 项目说明作者伊戈尔·赛索耶夫(Igor Sysoev)开发背景为俄罗斯访问量第二的 Rambler.ru 站点开发首次发布2004年10…
背景介绍 容器技术的起源 假如我们正在开发一个名叫"谁是小黑子"的应用,程序员自己从头到尾搭建了一套环境开始写代码,写完代码后程序员要把代码交给测试同学测试,这时测试同学开始从头到尾搭建这套环境,测试同学测完后终于可以上线了,这时运维同学又要重新从头到尾搭建这套环境,费了九牛二虎之力搭建好环境开始上线,糟糕,上线系统就崩溃了。 imag…
Linux 介绍 Linux操作系统,被称之为类Unix操作系统,因此,要了解Linux的诞生就得先了解Unix操作系统 1. 1965 年开始的 Multics 工程计划,该计划由贝尔实验室、美国麻省理工学院和通用电⽓公司联合发起,目标是开发⼀种交互 式的、具有多道程序处理能⼒的分时操作系统,以取代当时⼴泛使用的批处理操作系统。 2. 在此期间,…
SpringBoot概述 为什么需要SpringBoot 传统Spring开发的痛点: 痛点说明SpringBoot解决方案配置地狱需要大量配置类注册组件自动配置版本冲突依赖版本管理复杂Parent统一管理部署繁琐需打包war + 外部Tomcat内嵌Tomcat,java -jar启动 核心思想:约定大于配置 ┌─────────────────…
SpringMVC 介绍 什么是 SpringMVC SpringMVC 是 Spring 框架提供的 Web MVC 解决方案。它并不是抛弃 Servlet,而是建立在 Servlet 之上,通过一个统一的前端控制器接收请求,再把请求分发到具体的方法上处理。 和手写 Servlet 相比,SpringMVC 的核心价值不是“少写代码”这么简单,而…
Spring整合MyBatis 引入依赖 <dependencies> <!-- Spring 6.x 对应使用 MyBatis-Spring 3.0.x --> <dependency> <groupId>org.mybatis</groupId> <artifactId>m…