快速业务通道

控制反转(IoC)与依赖注入(DI) - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-19
ther business");    } }

MyBusniess类展示了一个业务组件,它的实现需要对象Content的注入。代码3,代码4,代码5,6分别演示构造子注入(Constructor Injection),设值注入(Setter Injection)和接口注入(Interface Injection)三种方式。

代码3构造子注入(Constructor Injection)MyBusiness.java

package com.zj.ioc.di.ctor; import com.zj.ioc.di.Content; public class MyBusiness {    private Content myContent;    public MyBusiness(Content content) {     myContent = content;    }    public void doBusiness(){     myContent.BusniessContent();    }    public void doAnotherBusiness(){     myContent.AnotherBusniessContent();    } }

代码4设值注入(Setter Injection) MyBusiness.java

package com.zj.ioc.di.set; import com.zj.ioc.di.Content; public class MyBusiness {    private Content myContent;    public void setContent(Content content) {     myContent = content;    }    public void doBusiness(){     myContent.BusniessContent();    }    public void doAnotherBusiness(){     myContent.AnotherBusniessContent();    } }

控制反转(IoC)与依赖注入(DI)(3)

时间:2011-02-08 51cto博客 zhangjunhd

代码5 设置注入接口InContent.java

package com.zj.ioc.di.iface; import com.zj.ioc.di.Content; public interface InContent {    void createContent(Content content); }

代码6接口注入(Interface Injection)MyBusiness.java

package com.zj.ioc.di.iface; import com.zj.ioc.di.Content; public class MyBusiness implements InContent{    private Content myContent;    public void createContent(Content content) {     myContent = content;    }    public void doBusniess(){     myContent.BusniessContent();    }    public void doAnotherBusniess(){     myContent.AnotherBusniessContent();    } }

5.依赖拖拽(Dependency Pull)

最后需要介绍的是依赖拖拽,它在Spring中得到广泛应用。

代码7 依赖拖拽示例

public static void main(String[] args) throws Exception{ //get the bean factory BeanFactory factory = getBeanFactory(); MessageRender mr = (MessageRender) factory.getBean(“renderer”); mr.render(); }

而通常IoC容器的配置可以通过一个xml文件完成。

使用这种方式对对象进行集中管理,使用依赖拖拽与依赖查找本质的区别是,依赖查找是在业务组件代码中进行的,而不是从一个集中的注册处,特定的地点执行。

本文出自 “子 孑” 博客,请务必保留此出处http://zhangjunhd.blog.51cto.com/113473/126530

本文配套源码

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号