
源码分析
文章平均质量分 90
堆栈树贪心动归深搜广搜数学位运算巴拉巴拉
王星星的魔灯
勇士斗恶龙
展开
-
Mybatis中实体类和数据库字段的映射方式
这个东西我好久就想写了,之前在阿里实习时,所有MySQL的数据都会以D1的频率备份到ODPS上,而我负责的项目需要查询ODPS里面的数据,但是ODPS的Java SDK版本类似于JDBC一样配置多且难用,所以我就诞生了写一个针对于ODPS的工具类以方便后来者操作ODPS,在写的过程中,我发现最难的就是映射那一块,所以拖了好久,今天终于拿出时间来分析下这一块的东西。预备工作在聊Mybatis之前,还是要先说下传统的JDBC查询数据库的步骤:@Testpublic void testJdbc() {原创 2021-03-30 14:46:32 · 5349 阅读 · 0 评论 -
SpringMVC源码分析
前几天看了分析了@RequestBody的原理,并且DIY了一个参数解析器,今天趁热打铁,分析下SpringMVC的原理,主要包括启动流程和执行流程以及其设计思路。SpringMVC中的MVC指的是model view 和 controller,view指的是渲染的视图,model指的是应用中包含的各种数据,controller则是负责业务处理的控制器。对于整个流程来说,当一个HTTP请求进入服务器之后,controller会对后台的数据,即model进行加工处理,然后由SpringMVC将这些model原创 2021-02-18 21:06:32 · 296 阅读 · 2 评论 -
@RequestBody原理
通过Http传递参数一般有两种方式,一种是通过url解析参数,一种是通过body来解决,那么我们本次说的RequestBody就是去解析请求体然后映射到我们的参数,那 么它该如何解析body呢?这就是本篇博客诞生的目的。这个其实是SpringMVC中做的一个处理机制,在整个SpringMVC的处理流程中,会通过HandlerMethod来代理每个Map后的controller和method,在通过反射invoke method的过程中,会解析request来获得arguments,而@RequestBo原创 2021-01-27 15:50:25 · 25216 阅读 · 5 评论 -
基于Tomcat的webSocket的使用方式和源码分析
WebSocket是基于tcp的一种全双工通信的协议,它在建立连接的时候需要使用http协议,之后开始连接之后会独立出来。通过,http的每次连接都需要建立在url之上,但是webSocket只需要一个url来建立握手。常见的webSocket有多种实现方式,如SpringBoot+tomcat,或者是springboot+netty使用方式以下的代码均是基于Spring+tomcat首先会在socket那里协商ServerEndPoint注解,然后注解出几个方法,如@BeforeHa.原创 2020-10-12 17:50:18 · 4074 阅读 · 1 评论 -
Tomcat 之手写连接器
没有人永远年轻,但永远有人年轻之前手写了一个能解析Servlet的简单的Servlet容器,但是我们的目标可不能止于这些,把Tomcat写出来才是我们最终的目标~相关代码已同步Github概述我们知道Catalina中有两个主要的板块,一个是connector,另外一个是container。连接器负责将请求和容器关联,它为每一个Http请求创建一个request和response对...原创 2019-11-08 15:06:14 · 1723 阅读 · 0 评论 -
Tomcat之手写Servlet服务器
冲冲冲本博客详细的代码已上传至github,所以本篇博客就不将代码写太详细了我们知道,Servlet不是代码,也不是框架,而是一组规范,是一组所谓的Tomcat服务器实现的规范/接口。如果想要写出一个Tomcat,则必须要对Servlet这组规范有非常清晰的了解,我们才能实现它如果只是写一个简单的Web服务器的话,我们很清楚,只需要创建三个类,一个是Response, 另一个是Req...原创 2019-10-06 20:46:13 · 1816 阅读 · 0 评论