LightSSM - 轻量级 Web 框架
自研轻量级 Java Web 框架,复刻 Spring 核心流程,实现 IoC/DI 容器、SpringMVC 核心、ORM 模块、AOP 切面能力。
项目背景
LightSSM 是一个自研的轻量级 Java Web 框架,旨在深入理解 Spring 框架的核心原理。项目通过复刻 Spring 的核心流程,实现 IoC/DI 容器、SpringMVC 核心组件、轻量级 ORM 模块和 AOP 切面能力,帮助开发者理解框架底层原理。
技术架构
框架采用模块化设计,IoC/DI 容器支持注解扫描和依赖注入,SpringMVC 模块实现 DispatcherServlet、HandlerMapping、HandlerAdapter、ViewResolver 核心组件,ORM 模块支持 XML SQL 映射和动态 SQL,AOP 模块基于 JDK/CGLIB 双代理实现通知织入。
核心功能
IoC/DI 容器:支持 @Component/@Autowired 注解扫描与依赖注入
三级缓存:基于三级缓存解决循环依赖问题
SpringMVC 核心:实现 DispatcherServlet、HandlerMapping、HandlerAdapter、ViewResolver
RESTful 接口:支持 @RequestMapping/@ResponseBody 开发 RESTful 接口
ORM 模块:支持 XML SQL 映射、动态 SQL 拼接、参数自动绑定与 ResultSet 映射
AOP 切面:基于 JDK/CGLIB 双代理实现 @Before/@After/@Around 通知织入
技术栈
工作职责
- 1
设计并实现 IoC/DI 容器,支持注解扫描与依赖注入
- 2
基于三级缓存解决循环依赖问题
- 3
复刻 SpringMVC 核心流程,实现四大核心组件
- 4
实现轻量级 ORM 模块,支持 XML SQL 映射和动态 SQL
- 5
集成 AOP 切面能力,基于 JDK/CGLIB 双代理实现通知织入
技术难点与解决方案
循环依赖解决
基于三级缓存解决循环依赖问题,提前暴露引用对象,实现完整的依赖注入流程
SpringMVC 核心流程复刻
实现 DispatcherServlet、HandlerMapping、HandlerAdapter、ViewResolver 四大核心组件,完整复刻 SpringMVC 请求处理流程
动态 SQL 实现
实现 XML SQL 映射和动态 SQL 拼接,支持参数自动绑定与 ResultSet 映射
AOP 双代理实现
基于 JDK 动态代理和 CGLIB 代理实现 @Before/@After/@Around 通知织入,支持接口和类两种代理方式
项目成果
完整复刻 Spring 核心流程,深入理解框架底层原理
IoC/DI 容器支持注解扫描和三级缓存解决循环依赖
SpringMVC 核心组件完整实现,支持 RESTful 接口开发
ORM 模块支持 XML SQL 映射和动态 SQL