1. 程式人生 > 實用技巧 >Spring-02-IOC理論推導

Spring-02-IOC理論推導

IOC理論推導

  1. UserDao介面

  2. UserDaoImpl實現類

  3. UserService業務介面

  4. UserServiceImpl業務實現類

在之前的業務中,使用者的需求會影響原來的程式碼,代價十分巨大。

我們使用一個Set介面實現:

private UserDao userDao;

//利用set進行動態實現值的注入
public void setUserDao(UserDao userDao) {
    this.userDao = userDao;
}
  • 之前,程式是主動建立物件,控制權在程式猿手上!
  • 使用set注入後,程式不再具有主動性,而是被動的接受物件。

​ 這種思想,從本質上解決了問題,我們不再管理物件的建立,系統的耦合性大大降低,可以更加專注在業務實現上。這是IOC的原型!

IOC本質

控制反轉IOC(inversion of control)是一種設計思想,DI(依賴注入)是實現IOC的一種方式。

​ 控制反轉是一種通過描述(XML或註解)並通過第三方去生產或獲取特定物件的方式。在Spring中實現控制反轉的是IOC容器,實現方式是依賴注入(DI,dependency injection)