返回项目列表

LightSSM - 轻量级 Web 框架

自研轻量级 Java Web 框架,复刻 Spring 核心流程,实现 IoC/DI 容器、SpringMVC 核心、ORM 模块、AOP 切面能力。

2025.09-2025.11

项目背景

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 通知织入

技术栈

JavaIoC/DISpringMVCORMAOPJDK ProxyCGLIBXML解析

工作职责

  • 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