spring核心思想:IOC(控制反轉)、DI(依賴注入)和AOP(面向切面編程)


Spring有三大核心思想,分別是控制反轉(IOC,Inversion Of Controller),依賴注入(DI,Dependency Injection)和面向切面編程(AOP,Aspect Oriented Programming)。

控制反轉(IOC,Inversion Of Controller)

控制反轉不是什么技術,而是一種設計思想。在Java開發中,IOC意味着將你設計好的對象交給容器控制,而不是傳統的在你的對象內部直接控制。

傳統正轉

控制有反轉,當然也就有原來的正轉。正轉就是說當你需要用到某一個對象的時候,就需要主動去new一個對象實例,才能夠使用該對象。

控制反轉

反轉就是當你需要用到某一個對象的時候,就向Spring IOC容器發請求,由Spring IOC容器返回一個對象實例給你,即將組件之間的關系從程序內部提到外部容器來管理。

依賴注入(DI,Dependency Injection)

依賴注入是控制反轉的具體實現。

因為對象資源的獲取全部要依賴於Spring IOC容器,組件之間的依賴關系由容器在應用系統運行期來決定,在需要的時候由Spring IOC容器動態地往組件中注入需要的實例對象就叫做依賴注入。

面向切面編程(AOP,Aspect Oriented Programming)

面向切面編程利用了一種稱為【橫切】的技術,剖解開封裝的對象內部,並將那些影響了多個類的公共行為封裝到一個可重用的模塊,並將其命名為【切面(Aspect)】。簡單的說,就是那些與業務無關,卻為業務模塊鎖共同調用的邏輯或責任封裝起來,便於減少系統的重復代碼,降低模塊之間的耦合,並有利於未來的可操作性和可維護性。

利用【橫切】技術,AOP把軟件系統分為了兩個部分:核心關注點和橫切關注點。業務處理的主要流程是核心關注點,與業務處理關系不大的部分是橫切關注點。橫切關注點的一個特點是,它們經常發生在核心關注點的多處,而各處基本相似,比如說權限認證、日志和事務等。AOP的作用在於分離系統中的各個關注點,將核心關注點和橫切關注點分離開來。

 

"因為你的固執和任性,因此我最害怕你突然會放棄。"


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM