文章插图
代码实现
至此,我们基本完成了实现一个简单的IOC容器所需要的东西 。先看一下基本的类图:
文章插图
基本代码实现:
n:
publicclassDefaultBeanDefinitionimplementsBeanDefinition{privateClass>clazz;privateStringbeanFactoryName;privateStringcreateBeanMethodName;privateStringstaticCreateBeanMethodName;privateStringbeanInitMethodName;privateStringbeanDestoryMethodName;privatebooleanisSingleton;//setterpublicvoidsetSingleton(booleansingleton){isSingleton=singleton;}@OverridepublicClass>getBeanClass(){returnthis.clazz;}@OverridepublicStringgetBeanFactory(){returnthis.beanFactoryName;}@OverridepublicStringgetCreateBeanMethod(){returnthis.createBeanMethodName;}@OverridepublicStringgetStaticCreateBeanMethod(){returnthis.staticCreateBeanMethodName;}@OverridepublicStringgetBeanInitMethodName(){returnthis.beanInitMethodName;}@OverridepublicStringgetBeanDestoryMethodName(){returnthis.beanDestoryMethodName;}@OverridepublicStringgetScope(){returnthis.isSingleton?BeanDefinition.SINGLETION:BeanDefinition.PROTOTYPE;}@OverridepublicbooleanisSingleton(){returnthis.isSingleton;}@OverridepublicbooleanisPrototype(){return!this.isSingleton;}}
:
文章插图
文章插图
简单测试:实例bean:
publicclassUser{privateStringname;privateintage;//gettersetterpublicvoidinit(){System.out.println("init...");}publicvoiddestory(){System.out.println("destory...");}}
工厂类:
publicclassTestFactory{publicObjectcreateMethod(){returnnewUser();}publicstaticObjectstaticCreateMethod(){returnnewUser();}}
测试类:
文章插图
总结
一个简单的容器就是这样实现的 。当然,我们这里只有基本的功能,但实际上还差得很远,比如带参数的bean实例化 。但是IOC的基本原理已经表达出来了,我们只需要在此基础上增加新的功能即可 。
郑重声明:本文版权归原作者所有,转载文章仅出于传播更多信息之目的 。如果作者信息标注有误,请尽快联系我们修改或删除,谢谢 。
- lbs是什么意思,有什么作用?
- 机会成本是什么 机会成本介绍
- 巴铁是什么意思?巴铁友谊怎么来的
- 指甲空了还能长好吗 手指甲空了是什么原因
- 详解墓志铭含义 什么叫墓志铭什么意思
- 孙晋良逝世怎么回事?孙晋良是谁个人资料逝世原因是什么享年100岁
- 详解叶公好龙故事及其深意 叶公好龙是什么意思解释
- 十大发蜡品牌排行榜 发蜡是什么东西
- 嗤之以鼻是什么意思(为什么庄子会对“相濡以
- 守宫是什么动物?小众宠物之守宫