Spring-02-IOC理論推導
阿新 • • 發佈:2020-08-18
IOC理論推導
-
UserDao介面
-
UserDaoImpl實現類
-
UserService業務介面
-
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)