美文网首页我爱编程
spring-mini之ioc.md

spring-mini之ioc.md

作者: 木易爽 | 来源:发表于2017-02-05 14:40 被阅读84次

关于spring-Mini

​ spring是一集大成者,通过spring集成和管理了许许多多的框架。本着就学习倒腾轮子的目的,本文将叙述博主倒腾轮子的思路化繁为简,理解Spring的功能。

​ 此外,在倒腾spring-mini时对Tiny-Spring,spring 3.0源码以及《Spring技术内幕》进行了相关的参考。而本篇博文主要涉及IOC思想,以及就ClassPathXmlApplicationContext来实现一个简单的IOC容器.

关于IOC思想

Ioc的意思是控制权从应用程序转移到框架(如IOC容器).IOC的本质是:创建对象和装配对象,管理对象生命周期,被动实例化,被动接受依赖,被动装备(工厂+反射+xml配置文件或注解)

ClassPathXmlApplicationContext

  • BeanFctory:IOC的基本功能是由BeanFactory来定义的,在spring-mini中的BeanFactory提供的getBeanByName和getBeanByType的方法定义IOC的最基本形式.
  • AbstractBeanFactory:实现了BeanFactory接口以及Bean定义注册接口的注册,获取和移除Bean定义。并用beanCollection,definitionBeanNameMap和definitionbeanClassMap三个currentHashMap存储bean实力以及定义。
  • AutowireCapableBeanFactory 实现抽象工厂的BeanFactory工厂生成bean的工厂以及装配bean属性。
  • AbstractApplicationContext作为ApplicationContext的抽象类定义了bean定义加载器以及实现BeanFactory的两个基本方法.
  • ClassPathXmlApplicationContext做为读取xml文档里面的bean定义实现了loadBeanDefinitions,通过XmlBeanDefinitionReader读取xml文档并实现了BeanDefinition的资源定位,载入和解析的功能。

关于spring-mini.xsd

为了实现xml的方式注册,通过idea逆向工厂定义了bean定义相关的xsd文件,用于配合生成applicationContext.xml。详细可参考文末的源码出处。

总结

到此 spring-mini的组成介绍基本完成。需要提到的是Tiny-Spring对我的参考意义确实很重大,在一个月前参考spring 3.0 的ioc 随意写了一下一个叫做IocAndAop的项目,无奈的是spring的ClassPathXmlApplicationContext的xml读取对于作为新手的我来说功能太过复杂,而IocAndAop几近夭折,后面在gitHub上搜到Tiny-Spring 让我眼前一亮。在IocAndAop已有的功能上借鉴Tiny-spring,因而,spring-mini诞生。

不足之处

  • spring-mini博主个人爱好的驱动下,参考spring源码和网上的博客完成,问题应该是有的。
  • 为了并发安全BeanFactory的底层实现采用的是currentHashMap,,但是遗憾的是没能够在spring-mini里面进行测试,个人猜想需要引入servlet。

后期展望

在已有的spring-mini的IOC基础上再实现aop以及后面采用注解方式实现。

源码地址

Spring-Mini

参考链接

Tiny-Spring

[我对IoC/DI的理解]

相关文章

  • spring-mini之ioc.md

    关于spring-Mini ​ spring是一集大成者,通过spring集成和管理了许许多多的框架。本...

  • 十之

    博学之,审问之,慎思之,明辨之,笃行之。 励志之,健身之,涅槃之,弘毅之,自强之!

  • 读记|唐诗人:诗心煎红尘(二)

    愈之挫之 险之退之 借之济之 忠之犯之 勇之夺之 衰之立之 坚之韧之 载之言之 一代宗师 成之传之 字曰子厚 道解...

  • 《寄君归》

    思之念之 见之不忘 吾亦求之 求之不得 吾亦念之 兮之盼之 来之归之 欲予离之 得之兮之 心思念之 盼来归之 归之...

  • 飘零

    艾雪儿 难耐心中怦然之 抑之,控之,思之,忘之 能否任之,弃之,拥之,念之 山河为鉴 赴之,游之,悦之,相守之…

  • 《美》

    刚之美,软之美,善之美,心之美。 水之美,声之美,爱之美,景之美,笑之美,物之美,月之美。 仁之美,慈之美,德之美...

  • 众说纷云

    众说纷云 文‖曾之一 20200220 古人说 真之假之善之恶之美之丑之 今人说 真之假之善之恶之美之丑之 后人说...

  • 安沨

    博学之,审问之,慎思之,明辨之,笃行之。

  • 2019-01-13

    博学之、明辨之、慎思之、审问之、笃行之

  • 《道德经·第五十一章》

    原文 道生之,德蓄之,物形之,势成之。 是以万物莫不尊道而贵德。 道之尊,德之贵;长之育之;亭之毒之;养之覆之。 ...

网友评论

    本文标题:spring-mini之ioc.md

    本文链接:https://www.haomeiwen.com/subject/kpdeittx.html