tiny-spring

A tiny IoC container refer to Spring.

  • Owner: code4craft/tiny-spring
  • Platform:
  • License:: Apache License 2.0
  • Category::
  • Topic:
  • Like:
    0
      Compare:

Github stars Tracking Chart

tiny-spring

A tiny IoC container refer to Spring.

关于

tiny-spring是为了学习Spring的而开发的,可以认为是一个Spring的精简版。Spring的代码很多,层次复杂,阅读起来费劲。我尝试从使用功能的角度出发,参考Spring的实现,一步一步构建,最终完成一个精简版的Spring。有人把程序员与画家做比较,画家有门基本功叫临摹,tiny-spring可以算是一个程序的临摹版本-从自己的需求出发,进行程序设计,同时对著名项目进行参考。

点此查看对本项目的类文件结构和逻辑的分析。 (by @dugu9sword)

功能

  1. 支持singleton类型的bean,包括初始化、属性注入、以及依赖bean注入。
  2. 可从xml中读取配置。
  3. 可以使用Aspectj的方式进行AOP编写,支持接口和类代理。

使用

tiny-spring是逐步进行构建的,里程碑版本我都使用了git tag来管理。例如,最开始的tag是step-1-container-register-and-get,那么可以使用

git checkout step-1-container-register-and-get

来获得这一版本。版本历史见changelog.md

Bitdeli Badge

下面是推广

如果觉得代码理解有难度的,可以报名@方老司 的视频教程:

60分钟徒手撸出Spring框架:土法造炮篇

60分钟徒手撸出Spring框架:高仿版

Main metrics

Overview
Name With Ownercode4craft/tiny-spring
Primary LanguageJava
Program languageJava (Language Count: 1)
Platform
License:Apache License 2.0
所有者活动
Created At2014-01-10 16:37:57
Pushed At2023-11-27 06:31:02
Last Commit At2018-02-12 21:10:41
Release Count10
Last Release Namestep-10-invite-cglib-and-aopproxy-factory (Posted on )
First Release Namestep-1-container-register-and-get (Posted on )
用户参与
Stargazers Count4.1k
Watchers Count203
Fork Count1.8k
Commits Count47
Has Issues Enabled
Issues Count27
Issue Open Count24
Pull Requests Count4
Pull Requests Open Count6
Pull Requests Close Count3
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private