--------上一篇:手写MVC框架(一)-再出发----- 背景 书接上文,之前整理了实现MVC框架需要写哪些东西.这周粗看了一下,感觉也没多少工作量,所以就计划一天时间来完成.周末的时间,哪会那么老实的坐在电脑前写代码呢?看电影的时候应该是老实的.为了不给自己留遗憾,所以今天就接着写了,然后就写完了. 一.主要代码结构 . ├── annotation │ ├── XAutowired.java //用于依赖注入 │ ├── XComponent.java //资源管理 │ ├── XCo…
背景 前段时间把之前写的DAO框架(手写DAO框架(一)-从“1”开始)整理了一下,重构了一版.整理过程中看以前写的代码,只是为了了解实现,只是为了实现,代码写的有点粗糙.既然已经整理了DAO框架,索性继续整理一下MVC框架(https://github.com/shuimutong/zxmvc.git),所谓温故知新也. 一.关于Servlet 1.简介 学习web的时候,一般都是先学Servlet 通过Servlet可以接受到http请求,并进行响应 这个时候,是不需要struts.Spri…
一.背景 书接上文手写MQ框架(三)-客户端实现,前面通过web的形式实现了mq的服务端和客户端,现在计划使用netty来改造一下.前段时间学习了一下netty的使用(https://www.w3cschool.cn/netty4userguide/52ki1iey.html).大概有一些想法. netty封装了socket的使用,我们通过简单的调用即可构建高性能的网络应用.我计划采用以下例子来对gmq进行改造. 本文主要参考:https://www.w3cschool.cn/netty4use…
一.起航 书接上文->手写MQ框架(一)-准备启程 本着从无到有,从有到优的原则,所以计划先通过web实现功能,然后再优化改写为socket的形式. 1.关于技术选型 web框架使用了之前写的gmvc框架(手写MVC框架(一)-再出发),消息存储采用存在数据库的方式,使用的框架也是前段时间写的gdao(手写DAO框架(一)-从“1”开始 ). 2.项目搭建 项目本来是单项目的形式,但是考虑到将服务端.客户端分开不是很友好,所以采用了maven父子模块的形式. 其中,父pom配置如下: <?xm…
一.背景 很久以前写了DAO框架和MVC框架,前段时间又重写了DAO框架-GDAO(手写DAO框架(一)-从“1”开始,源码:https://github.com/shuimutong/gdao.git)和MVC框架-GMVC(手写MVC框架(一)-再出发,源码:https://gitee.com/simpleha/gmvc.git). 之前也尝试过写RPC框架(源码:https://github.com/shuimutong/grpc_beta.git),客户端.服务端的方法调用写完了,但是网…
1. 前言 2. 为什么要自己手写框架 3. 简单MVC框架设计思路 4. 课程目标 5. 编码实战 5.1 配置阶段 web.xml配置 config.properties 自定义注解 5.2 初始化阶段 创建自定义EsDispatcherServlet doLoadConfig加载用户自定义配置 doScanClass扫描指定包下的类 doInitializeInstance类实例化 doAutowired依赖注入 doHandlerMapping配置URL和具体Handler方法映射规则…
我们从两个方面了解springmvc执行原理,首先我们去熟悉springmvc执行的过程,然后知道原理后通过手写springmvc去深入了解代码中执行过程. (一)SpringMVC流程图 (二)SpringMVC流程 1.  用户发送请求至前端控制器DispatcherServlet. 2.  DispatcherServlet收到请求调用HandlerMapping处理器映射器. 3.  处理器映射器找到具体的处理器(可以根据xml配置.注解进行查找),生成处理器对象及处理器拦截器(如果有则…
-------前篇:手写DAO框架(一)-从“1”开始 --------- 前言:前篇主要介绍了写此框架的动机,把主要功能点大致介绍了一下.此篇文章主要介绍开发前最后的一些准备.主要包括一些基础知识点,和模块的拆分. 话说磨刀不误砍材工,知其然,还要只其所以然.因为很久没有学习相关的知识了,为了避免一些明显错误,所以先把相关基础知识了解一下. (因个人水平有限,如有纰漏,还请指出) 基础知识点 一.Statement和PrepareStatement 1.PrepareStatement a.预…
Angular8正式发布了,Java13再过几个月也要发布了,技术迭代这么快,框架的复杂度越来越大,但是原理是基本不变的.所以沉下心看清代码本质很重要,这次给大家带来的是手写RPC框架. 完整代码以及说明文档,点我跳跃~ 1. 什么是RPC? RPC是指远程过程调用,也就是说两台服务器A,B,一个应用部署在A服务器上,想要调用B服务器上应用提供的函数/方法,由于不在一个内存空间,不能直接调用,需要通过网络来表达调用的语义和传达调用的数据. RPC框架有很多,比较知名的如阿里的Dubbo.goog…
续接前文, 手写SpringMVC框架(一)项目搭建 本节我们来开始手写SpringMVC框架的第二阶段:结构开发设计. 新建一个空的springmvc.properties, 里面写我们要扫描的包名,之后这里面我们需要些一些配置信息,比如扫描的包路径等等. scanPackage=com.lagou.edu 在web.xml中配置此文件: <servlet> <servlet-name>lgmvc</servlet-name> <servlet-class>…