Featured image of post SimpleFramework

SimpleFramework

造轮子项目:从头实现Spring框架

SimpleFramework

造轮子项目:从头实现Spring框架

项目简介

项目地址

Gitee:https://gitee.com/yuejia-lai/simpleframework

GitHub:https://github.com/Yuejia-Lai/simpleframework

Spring框架家族在Java开发中居于霸主地位,不仅在于其简单易懂,功能强大,更在于其使用了大量的设计模式,规范的项目架构,再加上开源免费,让众多的开发者可以从中学习,提升自己,为Java开发带来了“春天”

在我看来,用少量的基础技术工具类实现一个Spring框架应该是每个Java开发者的梦想,所以才有了这个项目

SimpleFramework是一个开源的项目,任何企业和个人可以免费学习使用

  • 本项目实现了一个简易版本的Spring框架,实现了其三大核心功能:IOC,AOP,MVC
  • core包实现了框架的核心功能:bean的扫描加载,容器的维护,单例模式实现,以及自定义bean
  • inject包负责依赖注入:Autowired注解以及单例模式注入以及为接口注入实现类
  • aop包遵循面向切面编程思想:AspectOrder注解负责切面类标识排序,通过cglib动态代理以及AspectJWeaver织入横切逻辑,实现动态修改方法逻辑
  • mvc包对应于请求分发相关功能:重构DispatcherServlet,实现RequestProcessorChainRequestProcessor矩阵以及ResultRender矩阵,完成多种请求的处理与响应渲染

项目架构图

IOC

IOC

AOP

AOP

MVC

MVC

项目用到的技术

  • Java 1.8
  • Maven
  • CGLIB
  • AspectJWeaver
  • Java Servlet API
  • Gson
  • Lombok

如何使用本项目

  • 方法一:

下载源码,导入Idea,可以在demo目录下进行相关的测试(与使用Spring Boot开发项目基本相同)

  • 方法二:

将项目使用maven编译打包后把target目录下生成的jar包导入自己的项目即可,注意依赖冲突问题

渝ICP备2022006471
Built with Hugo
主题 StackJimmy 设计