码迷,mamicode.com
首页 > 其他好文 > 详细

IoC与DI

时间:2016-04-02 20:29:32      阅读:271      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!