Spring框架三大核心解析

Spring是一個輕量級控制反轉(IoC)和麪向切面(AOP)的容器框架,管理Bean的生命週期。

Spring框架的核心:IOC(控制反轉)DI(依賴注入)AOP(面向切面編程)



  • IOC(控制反轉)

傳統的Java開發過程中,當需要一個對象的時候,我們需要自己new或者getInstance等直接或間接調用構造方法創建一個對象;而在Spring容器中,Spring容器利用 工廠模式(BeanFactory)爲我們創建了所需要的對象,使用時無須自己創建,直接調用Spring爲我們創建的對象即可,這就是控制反轉的思想。

優點:簡化了我們對對象的管理,交給了Spring管理;程序員不用再自己創建對象,需要時直接從Spring中取。由主動創建對象變成了被動接收對象,控制權反轉,減輕了程序員的代碼量,提高了開發效率。打個比方:IOC就像現在得訂餐APP,以前我們喫飯需要自己去做,去New一頓飯出來;現在我們有了訂餐APP(Spring),我們只需要登錄這個APP,在APP訂餐頁面spring.xml(Spring配置文件)填寫你想喫的飯(也就是Bean對象),然後就可以預定你要喫的飯,想要豬頭肉就會給你送豬頭肉,想要紅燒肉就會送紅燒肉;各種菜就像是Property,這樣我們坐在家中就可以喫到飯了,不用自己再動手去做了。


  • DI(依賴注入)

Spring爲我們提供了三種注入方式:Setter注入構造方法注入接口注入

Spring使用JavaBean對象的Set方法或者帶參數的構造方法爲我們創建所需要的對象時將其屬性自動設置爲所需要的值的過程就是依賴注入的思想。

優點:有了Spring容器,當我們想要創建一個Service時,就可以直接從Spring容器中拿;或者想在Service中調用Dao也不需要在Service裏創建,因爲Spring會從容器中取出Dao,並注入到Service裏,也就是依賴注入。

  • AOP(面向切面編程)

在面向對象編程(OOP)中,我們將事物縱向抽象成一個個的對象。而在面向切面編程中,我們將一個個對象某些類似的方面橫向抽象成一個切面,對這個切面進行一些如:權限驗證,事務管理,記錄日誌等公用操作處理的過程就是面向切面編程的思想。



References
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章