结合配置文件、反射完善控制反转(IoC)、依赖注入(DI)

IoCIoC)、依赖注入(DI)之二”的例子继续往下。

回顾:

问题描述:

如“回顾”所指,如何能够使具体组件依赖的配置脱离源代码存在?需要将这种硬编码的僵化设计改进为可灵活热插拔的方式。

解决方案:

。注意有个点 . 哦!

于是,可以得出如下配置文件格式,网站空间,这也是下面例子中要用到的配置文件:

# define a new concrete bean’reportGenerator’

reportGenerator=IoC_DI.use_reflect.PDFGenerator

# define a new concrete report service’reportService’

reportService=IoC_DI.use_reflect.ReportService

# inject the bean ‘reportGenerator’ into the ‘reportService’

reportService.reportGenerator=reportGenerator

实现方法:

BeanUtil.java反射、注入工具类代码如下,请详看注释:

根据以上具体配置文件,运行得到结果如下:

最后获取服务组件…getBean() –> reportService …

generate an PDF report …

想要使用其他逐渐,只要修改配置文件中第一个组件定义为:

# define a new concrete bean ‘reportGenerator’

reportGenerator=IoC_DI.use_reflect.ExcelGenerator

运行结果如下:

最后获取服务组件…getBean() –> reportService …

generate an Excel report …

注意:

Object bean = Class.forName(value).newInstance();

beans.put(keyParts[0], bean);

}

else {

bean的主体,香港虚拟主机,香港服务器,以及被注入的实例

Object bean = beans.get(keyParts[0]);

Object filedRef = beans.get(value);

BeanUtil.setProperty(bean, keyParts[1], filedRef);

}

后记:

包对应类好像使用了麻烦的描述符来查找 setter 方法。最后还是自己实现一下更加轻快:-D

回头看看上一篇文章,应该更能帮助理清例子的演进历程:-D

之一

演进式例解控制反转(IoC)、依赖注入(DI)之二

以下文章你可能也会感兴趣:

Java RMI 框架的工厂方法模式实现

本文出自 “蚂蚁” 博客,请务必保留此出处

带上心灵去旅行,以平和的心态看待一切,

结合配置文件、反射完善控制反转(IoC)、依赖注入(DI)

相关文章:

你感兴趣的文章:

标签云: