# tiny-spring **Repository Path**: SSSDNSY/tiny-spring ## Basic Information - **Project Name**: tiny-spring - **Description**: 旨在学习Spring,通过手写简化版的Spring,掌握Spring的核心原理。 - **Primary Language**: Unknown - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: https://gitee.com/SSSDNSY/tiny-spring - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2021-09-18 - **Last Updated**: 2023-05-22 ## Categories & Tags **Categories**: Uncategorized **Tags**: Spring, Java, tiny-spring, Bean ## README # 📝简介 [Spring](https://spring.io/quickstart) 源码学习为目的,通过学习 [small-spring](https://github.com/fuzhengwei/small-spring) 并动手去实现一个简化版Spring框架,按章节逐步了解Spring核心原理。 ![spring-logo](https://spring.io/images/spring-logo-9146a4d3298760c2e7e49595184e1975.svg) ## 📚 章节目录 - [x] [`难度【★☆☆☆☆】第 01 章:小试牛刀,实现一个简单的Bean容器`](https://mp.weixin.qq.com/s/fiWX6abSCiUKHAUa-HKg4A) - [x] [`难度【★☆☆☆☆】第 02 章:初显身手,运用设计模式,实现 Bean 的定义、注册、获取`](https://mp.weixin.qq.com/s/CgvQzm8B-CvQvXdxONC-lA) - [x] [`难度【★★☆☆☆】第 03 章:崭露头角,基于Cglib实现含构造函数的类实例化策略`](https://mp.weixin.qq.com/s/olrwapkSTQMyIGpR10ZDzA) - [x] [`难度【★★☆☆☆】第 04 章:一鸣惊人,为Bean对象注入属性和依赖Bean的功能实现`](https://mp.weixin.qq.com/s/EKoMDpa4q8TMikRM2wBIzw) - [x] [`难度【★★☆☆☆】第 05 章:气吞山河,设计与实现资源加载器,从Spring.xml解析和注册Bean对象`](https://mp.weixin.qq.com/s/GMcHUL7-oB7T0GWKjNC5Ng) - [x] [`难度【★★★★☆】第 06 章:所向披靡,实现应用上下文,自动识别、资源加载、扩展机制`](https://mp.weixin.qq.com/s/sv0H1NAuO3s90HC6QpjP5g) - [x] [`难度【★★★☆☆】第 07 章:龙行有风,向虚拟机注册钩子,实现Bean对象的初始化和销毁方法`](https://mp.weixin.qq.com/s/eQIg3Fd2oUeRLdSrRSGVPw) - [x] [`难度【★★★☆☆】第 08 章:虎行有雨,定义标记类型Aware接口,实现感知容器对象`](https://mp.weixin.qq.com/s/KP_4IQ2MZ-Pzq80WrJpCOA) - [x] [`难度【★★★☆☆】第 09 章:横刀跃马,关于Bean对象作用域以及FactoryBean的实现和使用`](https://mp.weixin.qq.com/s/npVKYqHVTDgYWa2Jq8PB-A) - [x] [`难度【★★★★☆】第 10 章:更上层楼,基于观察者实现,容器事件和事件监听器`](https://mp.weixin.qq.com/s/wf5XiY4AjFETLQZxEwcCEQ) - [x] [`难度【★★★★☆】第 11 章:炉火纯青,基于JDK和Cglib动态代理,实现AOP核心功能`](https://mp.weixin.qq.com/s/lDL14DMzaY_WzvmizDG-zw) - [x] [`难度【★★★★★】第 12 章:行云流水,把AOP动态代理,融入到Bean的生命周期`](https://mp.weixin.qq.com/s/BFYJLNzVO8NxjmeCUzmLyg) - [x] [`难度【★★★☆☆】第 13 章:笑傲江湖,通过注解配置和包自动扫描的方式完成Bean对象的注册`](https://mp.weixin.qq.com/s/1BWMc9sYUB9-uz2w7TZWmw) - [x] [`难度【★★★☆☆】第 14-1 章:万人之敌,通过注解给属性注入配置和Bean对象`](https://mp.weixin.qq.com/s/GNLA10AimmxUSZ0VoDI_xA) - [x] [`难度【★★★☆☆】第 14-2 章:战无不胜,给代理对象的属性设置值`](https://blog.csdn.net/pzh7362/article/details/121798190?spm=1001.2014.3001.5501) - [X] [`难度【★★★★★】第 15 章:攻无不克,通过三级缓存解决循环依赖`](https://blog.csdn.net/pzh7362/article/details/121963549) - [ ] [`难度【★★★★☆】第 16 章:挂印封刀,数据类型转换工厂设计实现`](https://download.csdn.net/download/Yao__Shun__Yu/21009038) ## 🤝致谢 傅老师的[small-spring](https://github.com/fuzhengwei/small-spring)