首页 > 其他 > 详细

IoC与DI

时间:2016-04-02 20:26:22      阅读:239      评论:0      收藏:0      [点我收藏+]

IoC 控制反转
  

public class PersonServiceBean{
    private PersonDAO personDAO = new PersonDAO();
    public void save(Person person){
    personDAO.save(person);
    }
}

如上代码所示,PersonDAOBean是在应用内部创建及维护的。所谓的控制反转(IoC)就是应用本身不负责依赖对象的创建及维护,依赖对象的创建及维护是由外部容器负责的,这样控制权就由应用转移到了外部容器,控制权的转移就是所谓反转。控制权可以理解对应用程序运行所需要的Bean的管理(创建和销毁),若将上述代码看成一个应用,那么这个应用运行需要的Bean就是PersonDAOBean。

DI 依赖注入

当我们把依赖对象交给外部容器负责创建,那么PersonServiceBean类可以改成如下:

public class PersonServiceBean{
    private PersonDAO personDAO;
    //通过构造器参数,让容器把创建好的依赖对象
    //注入进PersonServiceBean,也可以使用setter注入。
    public PersonServiceBean(PersonDAO personDAO){
        this.personDAO = personDAO;
    }
    public void save(Person person){
        personDAO.save(person);
    }
}

依赖注入:在运行期,由外部容器动态地将依赖对象注入到组件中。

  

IoC与DI

原文:http://www.cnblogs.com/UsahUnee/p/5348040.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!