首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 相關知識

Spring學習筆記(二):IoC控制反轉與依賴注入核心原理圖解

     編輯:Java 相關知識

Spring定位:為解決企業應用開發複雜性而創建的輕量級IoC與AOP容器框架。本文聚焦第一核心——IoC(Inversion of Control)控制反轉,別名依賴注入(Dependency Injection)。IoC非技術,而是設計模式,旨在削減程序耦合。

從「硬編碼」到「控制反轉」的三階段演進

階段一:直接依賴具體實現

專案組長「小李」固定開場介紹,Team強依賴Li:

public class Team {
    public void firstMeeting() {
        Li li = new Li();  // 綁定死小李
        li.introduce();
    }
}

階段二:引入介面但調用類仍耦合實現

引入Leader介面,Team面向介面編程,但new Li()仍在Team內部:

public class Team {
    public void firstMeeting() {
        Leader li = new Li();  // 仍依賴具體類Li
        li.introduce();
    }
}

階段三:引入第三方「老闆」決定具體實現——IoC雛形

Boss決定誰擔任組長,Team僅依賴Leader介面,完全解耦:

public class Team {
    public void firstMeeting(Leader leader) { leader.introduce(); }
}
public class Boss {
    public void direct() {
        Leader leader = new Li();  // 決定權在第三方
        Team team = new Team();
        team.firstMeeting(leader);
    }
}

IoC本質解讀

  • 控制:具體由誰實作介面(誰擔任組長)
  • 反轉:將決定權從調用類(Team)移交第三方(Boss)
  • 通俗定義:將介面具體實現類的控制權,從調用類中分離轉交給第三方決定

Spring容器即扮演「老闆」角色,透過XML/註解配置管理依賴關係。具體Spring如何實現IoC,將於後續實例詳細講解。

參考資源

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved