【SSH进阶之路】一步步重构容器实现Spring框架——配置文件+反射实现IoC容器(十)
来源:互联网 发布:java项目流程图 编辑:程序博客网 时间:2024/06/04 18:51
目录
【SSH进阶之路】一步步重构容器实现Spring框架——从一个简单的容器开始(八)
【SSH进阶之路】一步步重构容器实现Spring框架——解决容器对组件的“侵入式”管理的两种方案--主动查找和控制反转(九)
【SSH进阶之路】一步步重构容器实现Spring框架——配置文件+反射实现IoC容器(十)
【SSH进阶之路】一步步重构容器实现Spring框架——彻底封装,实现简单灵活的Spring框架(十一)(已更新)
上上篇博文【SSH进阶之路】一步步重构容器实现Spring框架——从一个简单的容器开始(八),我们为了去掉接
口对具体实现的依赖关系,封装了一个特别简陋的容器。
上篇博文【SSH进阶之路】一步步重构容器实现Spring框架——解决容器对组件的“侵入式”管理的两种方案--主
动查找和控制反转(九),我们利用控制反转,去掉了组件对容器的依赖。
简单配置,反射
上篇博文容器初始化时,使用new的方式来实力化对象,这篇博文我们利用配置文件+反射实力化对象,进一步封
装降低容器和组件的耦合度。下面我们先看一下配置文件。
看到上面的配置文件,除了命名空间没有,和spring的配置文件已经很像了,下面我们就使用dom4j或jdom来读取
配置文件,并将配置文件中配置类利用反射实例化。本实例我们使用的jdom,大家也可以使用dom4j试一下。下面我
们看一下读取配置文件的代码:
看到上面的代码,我们发现读取配置文件的方法中包含了反射,代码的可读性太差,并且对面向对象的封装不够彻
底,下面我们将bean的实例化以及依赖注入进行进一步的封装。
封装bean的实例化
为了做进一步的封装,我们将配置文件的属性封装成一个javabean,为了存放我们的属性值。如下所示:
现在我们就可以把bean的实例化做进一步的封装了。
我们知道容器不仅负责创建对象,而且可以管理对象的依赖关系,管理对象的生命周期等等。我们仅实现了容器
灵活创建对象的部分,依赖注入部分是由我们手动注入的。 对象的依赖关系还不灵活,但是我们已经能够看到IoC的
影子了,只是形似,还没有达到神似的目标。
下篇博文【SSH进阶之路】一步步重构容器实现Spring框架——彻底封装,实现简单灵活的Spring框架(十一),马
上送上。
源码下载
- 【SSH进阶之路】一步步重构容器实现Spring框架——配置文件+反射实现IoC容器(十)
- 【SSH进阶之路】一步步重构容器实现Spring框架——配置文件+反射实现IoC容器(十)
- 【SSH进阶之路】一步步重构容器实现Spring框架——配置文件+反射实现IoC容器(十)
- 【SSH进阶之路】一步步重构容器实现Spring框架——配置文件+反射实现IoC容器(十)
- 【SSH进阶之路】一步步重构容器实现Spring框架——从一个简单的容器开始(八)
- 【SSH进阶之路】一步步重构容器实现Spring框架——从一个简单的容器开始(八)
- 【SSH进阶之路】一步步重构容器实现Spring框架——从一个简单的容器开始(八)
- 【SSH进阶之路】一步步重构容器实现Spring框架——从一个简单的容器开始(八)
- 【SSH进阶之路】一步步重构容器实现Spring框架——彻底封装,实现简单灵活的Spring框架(十一)
- 【SSH进阶之路】一步步重构容器实现Spring框架——彻底封装,实现简单灵活的Spring框架(十一)
- 【SSH进阶之路】一步步重构容器实现Spring框架——彻底封装,实现简单灵活的Spring框架(十一)
- 【SSH进阶之路】一步步重构容器实现Spring框架——彻底封装,实现简单灵活的Spring框架(十一)
- 【SSH进阶之路】一步步重构容器实现Spring框架——解决容器对组件的“侵入式”管理的两种方案--主动查找和控制反转(九)
- 【SSH进阶之路】一步步重构容器实现Spring框架——解决容器对组件的“侵入式”管理的两种方案--主动查找和控制反转(九)
- 【SSH进阶之路】一步步重构容器实现Spring框架——解决容器对组件的“侵入式”管理的两种方案--主动查找和控制反转(九)
- 【SSH进阶之路】一步步重构容器实现Spring框架——解决容器对组件的“侵入式”管理的两种方案--主动查找和控制反转(九)
- 反射 + 配置文件 实现IOC容器
- 反射 + 配置文件 实现IOC容器
- 答答租车系统(面向对象综合练习)
- 【算法】最大似然估计总结笔记
- RN-react-native-pull-下拉刷新、上拉加载
- Group by 学习
- java中String、StringBuffer、StringBuilder的区别
- 【SSH进阶之路】一步步重构容器实现Spring框架——配置文件+反射实现IoC容器(十)
- Java sdut acm 3360 学生信息的添加与查询
- 谷歌浏览器后提示Adobe Flash Player因过期而遭到阻止
- Set数据结构实现数组的交集、并集、差集
- 4.20
- 一道CF送命题引发的博文
- Swift字符串的基本操作(一)
- Chrome浏览器历史版本下载
- iframe结构的网站按F5刷新子页面的实现方式