Spring學習之旅(三)Spring工作原理初探


詳細的廢話相信很多書籍視頻資料都已經很多了,這里說幾個小編個人認為對於理解Spring框架很重要的點。歡迎批評指正。

1)Spring的控制反轉

先說說“依賴”,在面向對象程序設計中,類A中用到了類B的實例對象或者類B的方法,叫做類A依賴於類B。

在傳統的代碼實現中,這種依賴關系通過程序代碼直接實現。而在Spring中,把這個工作交給了IoC容器,對象的依賴關系由容器來控制,程序只負責接口(Interface)的控制。

這種控制權從代碼到外部容器的轉移,稱為“控制反轉(IoC—Inversion of Control)”,也稱為“依賴注入(DI—Dependency Injection)”。

這是Spring框架的核心。Spring的核心容器(Core Container)就是IoC容器。

例如,前兩篇博文案例中所用到的配置文件hellobean.xml。將對象實例化由以new的方式轉變為了以xml配置(或者是注解(annotation))的方式實現。將實例化對象的控制權“反轉”給了IoC容器。同時,在容器實例化對象時,對象之間的相互依賴關系也構建好了。

2)Spring框架的工作原理

Spring框架的核心組件是Spring IoC容器(BeanFacory接口或者ApplicationContext接口)和Spring配置文件(或者注解配置信息)。

Spring的基本思想是:把對象之間的依賴關系轉移到配置文件(或者注解配置)中,由工廠類(BeanFacory接口)來創建對象。

由容器動態地創建並注入對象,決定所配置對象的創建、管理和銷毀。

程序執行過程:

(1)根據業務要求創建實體類或給出接口的實現;————例如上兩篇博文中的HelloBean類

(2)利用所創建的類,在配置文件中配置Bean信息;————例如上兩篇博文中的hellobean.xml配置文件

(3)創建Spring容器(該容器與配置文件相關聯——讀取配置信息)————例如上兩篇博文中的web.xml文件中的配置上下文參數,然后在jsp腳本中獲取獲取

(4)從容器中獲取實例對象,由對象調用方法完成所需要的業務處理。

本篇參考書籍《Java EE框架開發技術與案例教程》


免責聲明!

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



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