读完源码,手写一个spring框架(内含手写源码)
最近详细阅读了spring的框架,从简单的配置到注解,从加载到运行,从返回简单string到返回视图,看的很慢。
有不理解的地方就一次又一次debug流程,梳理运行过程和调用的方法。
为了加深当前对spring的理解,也防止以后遗忘,又花了几天时间把写了一个迷你版的spring框架。
迷你spring已经实现了注解和视图,支持tomcat运行和main方法直接调用。
代码都上传到了github,请大家下载点星,感谢!!
github地址:
先看以下spring源码中的类关系图:
我认为spring源码中最核心的类是AbstractApplicationContext,这个类中的refresh方法做的11大步骤,我已经在myspring中注释了。
myspring代码中也尽量使用了源码的重要类名的定义,可以帮助理解源码。
主要的类涉及AbstractApplicationContext、BeanDefinition、DefaultListableBeanFactory、ContextLoaderListener、DispatcherServlet和ServletHandler等。
最后我写了测试类分别测试了在tomcat中启动,浏览器访问myspring项目情况,下图是启动图。
下图是在main方法中测试图
以上是我手写spring框架情况,欢迎大家指正。
微信公众号:Java实用技术手册
关注可了解更多java技能和互联网面试技巧。问题或建议,请公众号留言。
如果你觉得这篇文章对你有帮助,欢迎一键三连
- 点赞
- 收藏
- 关注作者
评论(0)