Giter VIP home page Giter VIP logo

xiaoma800820 / small-spring Goto Github PK

View Code? Open in Web Editor NEW

This project forked from fuzhengwei/small-spring

0.0 1.0 0.0 4.75 MB

Spring手撸专栏,本仓库以 Spring 源码学习为目的,通过手写简化版 Spring 框架,了解 Spring 核心原理。在手写的过程中会简化 Spring 源码,摘取整体框架中的核心逻辑,简化代码实现过程,保留核心功能,例如:IOC、AOP、Bean生命周期、上下文、作用域、资源处理等内容实现。

Home Page: https://bugstack.cn

License: Apache License 2.0

small-spring's Introduction

Spring手撸专栏

作者: 小傅哥,Java Developer,✏️ 虫洞 · 科技栈,博主📘 《重学Java设计模式》图书作者





本仓库以 Spring 源码学习为目的,通过手写简化版 Spring 框架,了解 Spring 核心原理。

在手写的过程中会简化 Spring 源码,摘取整体框架中的核心逻辑,简化代码实现过程,保留核心功能,例如:IOC、AOP、Bean生命周期、上下文、作用域、资源处理等内容实现。

小傅哥,之所以开始撸Spring源码,主要就是因为在编写《面经手册》时,涉及到的Spring源码都会写很多的文字描述、绘制冗长的流程图稿、做不少的内容铺垫,但对于新人来说想直接学习这部分内容仍是非常困难的,那么现在为了让我以及更多的伙伴能有一个学习的抓手,我们来一起研究研究什么是快乐星球!

目录&源码

序号 章节 GitHub Gitee
01 开篇介绍,我要带你撸 Spring 啦! small-spring small-spring
02 小试牛刀,实现一个简单的Bean容器 small-spring-step-01 small-spring-step-01
03 初显身手,运用设计模式,实现 Bean 的定义、注册、获取 small-spring-step-02 small-spring-step-02
04 崭露头角,基于Cglib实现含构造函数的类实例化策略 small-spring-step-03 small-spring-step-03
05 为Bean对象注入属性和依赖Bean的功能实现 small-spring-step-04 small-spring-step-04
06 设计与实现资源加载器,从Spring.xml解析和注册Bean对象 small-spring-step-05 small-spring-step-05
07 所向披靡,实现应用上下文,自动识别、资源加载、扩展机制 small-spring-step-06 small-spring-step-06
08 龙行有风,向虚拟机注册钩子,实现Bean对象的初始化和销毁方法 small-spring-step-07 small-spring-step-07
09 虎行有雨,定义标记类型Aware接口,实现感知容器对象 small-spring-step-08 small-spring-step-08
10 横刀跃马,关于Bean对象作用域以及FactoryBean的实现和使用 small-spring-step-09 small-spring-step-09
11 待归档... - -

参考

在资料整理的过程中,发现了两个非常优秀的手写Spring框架源码,tiny-spring、mini-spring,这两个简化版的Spring框架都实现了一个非常易懂、易学、易上手的源码教程,如果你已经有了一定的基础,那么可以直接阅读源码学习。地址:

small-spring's People

Contributors

fuzhengwei avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.