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();
}
}

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);
}
}

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