别只会调 API,手写一遍反射和注解才算懂框架

很多转岗或刚背完八股的开发者,平时用 MyBatis 或 Spring 很顺,但一旦被问到“框架底层是怎么把数据库表和实体类映射起来的”,往往只能背出“动态代理”几个字,真让自己上手写就卡壳。这门课解决的就是这种“知其然而不知其所以然”的能力缺口。它不带你做业务增删改查,而是逼着你用最基础的 Java 反射、注解和 XML 解析,从零搓出一个自定义的 ORM 和 MVC 核心骨架。如果你连反射获取私有字段、动态修改参数值都写不利索,或者自定义注解的元注解怎么配总是记混,这门课就是给你补地基的。适合有一定 Java 基础、能写简单 JDBC 代码,但没真正拆解过框架源码的学习者。

先啃透反射与解析,再碰注解与工厂

看这套资料别跳着看,前面的基础复习是后面能看懂的前提。建议先重点啃开篇的反射复习部分,把 Class 对象获取、Constructor、Field、Method 的核心 API 敲熟练,这是整个自定义框架的引擎。接着看 XML 的 DTD 定义和应用,理解外部配置文件怎么约束格式并被程序读取。这两块稳了,再进入后半段的 ORM 核心实战。后半段重点是注解的声明与解析,你要搞清楚怎么定义一个表映射注解、怎么用反射把实体类上的注解信息读出来,最后跟着视频把 Session 工厂搭出来。配套练习方面,不要光看视频演示,务必自己建个空工程,跟着每一节的进度把工具类一点点敲出来,卡住了再回去对应章节找解法。

学完能脱手做什么

看完这套资料,你应该能独立写出一套小型的 ORM 映射工具:自己定义几个核心注解标记实体类和字段,写一个解析器扫描这些注解,通过反射自动拼装出 SQL 语句,最后用工厂模式封装出统一的执行入口。这意味着你以后看 MyBatis 源码时,不会再觉得底层像黑盒,至少能看懂它在注册 Mapper、解析注解、生成代理对象时到底在干什么。面试遇到“框架底层原理”或“反射实际应用”的追问,你能拿自己写过的这套逻辑去拆解回答,而不是背网文。资料包里的源码线索主要用来比对思路,如果你自己敲出来的解析逻辑跑不通,再去对照资料里的实现细节查漏补缺,千万别直接复制粘贴,那样等于白学。

课程目录

1 自定义框知识点与java反射复习2 (19:14)
2 自定义框知识点与java反射复习1 (24:42)
3 自定义框知识点与java反射复习3 (21:08)
4 Xml的dtd定义及应用1 (28:37)
5 Xml的dtd定义及应用2 (25:03)
6 Xml的dtd定义及应用3 (28:01)
7 xml解析与java反射应用1 (28:10)
8 xml解析与java反射应用2 (29:11)
9 自定义orm框架之注解声明与使用1 (20:43)
10 自定义orm框架之注解声明与使用2 (17:05)
11 自定义orm框架之注解声明与使用3 (26:33)
12 自定义orm框架之注解解析与session工厂1 (29:46)
13 自定义orm框架之注解解析与session工厂2 (28:09)
14 自定义orm框架之注解解析与session工厂3 (25:50)
15 自定义orm框架之泛型定义与查询功能1 (24:12)
16 自定义orm框架之泛型定义与查询功能2 (25:51)
17 自定义orm框架之泛型定义与查询功能3 (24:59)
18 自定义orm框架之插入功能 (35:32)
19 自定义orm框架之crud功能1 (26:39)
20 自定义orm框架之crud功能2 (30:25)
21 自定义orm框架之crud功能3 (28:41)
22 自定义mvc之核心控制器(一)1 (30:49)
23 自定义mvc之核心控制器(一)2 (27:40)
24 自定义mvc之核心控制器(一)3 (23:21)
25 自定义mvc之请求路径-业务控制器类的注册和解析1 (26:37)
26 自定义mvc之请求路径-业务控制器类的注册和解析2 (27:42)
27 自定义mvc之请求路径-业务控制器类的注册和解析3 (26:12)
28 自定义mvc之核心控制器(二)1 (18:02)
29 自定义mvc之核心控制器(二)2 (19:35)
30 自定义mvc之核心控制器(三)与应用-404页面1 (24:00)
31 自定义mvc之核心控制器(三)与应用-404页面2 (30:18)
32 mvc Orm融合之form注入1 (25:37)
33 mvc Orm融合之form注入2 (25:02)
34 mvc Orm融合之用户注册与文件上传 (28:41)
35 ajax文件上传 (24:22)
36 整合上传文件1 (29:39)
37 mvc Api接口服务实现1 (27:59)
38 整合上传文件2 (28:45)
39 mvc Api接口服务实现2 (28:48)
40 mvc Api接口服务实现3 (19:45)
41 mvc Api接口服务实现4 (26:21)
42 mvc Jquery Api请求1 (24:48)
43 mvc Jquery Api请求2 (18:24)
44 mvc 引入bootstrap1 (21:35)
45 mvc 引入bootstrap2 (20:13)
46 mvc 分页 1 实现分页思想 (04:55)
47 mvc 分页 2 1(dao层实现分页) (29:58)
48 mvc 分页 2 2(page类设计与控制器) (24:48)
49 mvc 分页 2 3(bootstrap与jstl标签) (23:04)