說到Spring的核心思想Ioc和aop不是Spring提出來的,在Spring以前就已經存在,只不過更偏向理論化,Spring在技術層次把兩個思想作了很是好的實現(java)java
第一部分:什麼是IOC
IOC Inversion of Control (控制反轉/反轉控制),注意它是⼀個技術思想,不是⼀個技術實現
描述的事情:Java開發領域對象的建立,管理的問題
傳統開發⽅式:⽐如類A依賴於類B,每每會在類A中new⼀個B的對象spring
IoC思想下開發⽅式:咱們不⽤⾃⼰去new對象了,⽽是由IoC容器(Spring框架)去幫助咱們實例化對象而且管理它,咱們須要使⽤哪一個對象,去問IoC容器要便可框架
咱們喪失了⼀個權利(建立、管理對象的權利),獲得了⼀個福利(不⽤考慮對象的建立、管理等⼀系列事情)ide
爲何叫作控制反轉?
控制:指的是對象建立(實例化、管理)的權利
反轉:控制權交給外部環境了(spring框架、IoC容器)對象
第二部分:IOC解決了什麼問題blog
IoC解決對象之間的耦合問題(聲明接口類型的屬性好比 private UserDao userDao;面向的接口,並無面向具體的實現類,不存在特別強度的耦合)接口
第三部分:IoC和DI的區別開發
DI:Dependancy Injection(依賴注⼊)
怎麼理解:
IOC和DI描述的是同⼀件事情,只不過⻆度不⼀樣罷了it