1. 程式人生 > >Spring中IOC和AOP是什麼?

Spring中IOC和AOP是什麼?

解釋Spring中的IOC?

IOC:Inversion of Control控制反轉,也叫(Dependency Injection)依賴注入, dao介面的實現不再是業務邏輯層呼叫工廠類去獲取,而是通過容器(spring)來自動的為我們的業務層設定Dao的實現類,這樣整個過程就反過來,以前是我們業務層主動去獲取dao,而現在是dao主動被設定到業務邏輯層中來了,這個也就是反轉控制的由來。通過IOC,我們就可以在不修改任何程式碼的情況下,無縫地實現資料庫的換庫遷移

簡單一點說:

IOC就是一個生產和管理bean的容器就行了,原來需要在呼叫類中new的東西,現在都是通過容器生成,同時,要是產生的是單例的bean,他還可以給管理bean的生命週期。

解釋Spring中的AOP?

AOP面向切面程式設計將程式中的交叉業務邏輯(比如安全,日誌,事務),封裝成一個切面,然後注入到目標業務邏輯中去。

比如:很多方法都可能會拋異常,你要記錄這個異常到日誌中去,可以寫個攔截器,在這個類中記錄日誌,在spring.xml中配置一個記錄這些日誌的方法的攔截器,在這個方法執行後呼叫這個攔截器,記錄日誌。這樣就不用每次拋異常都要手動記錄日誌。

spring的事務管理用到的就是AOP這樣也可以提高程式的內聚性。

Spring中有哪三種依賴注入的方式?

spring有三種注入方式:

1)根據屬性注入也叫set方法注入

2)根據構造方法注入

3)根據註解進行注入(推薦)

Spring框架的優點?

Spring的AOP和IOC都是為了解決系統程式碼耦合度過高的問題,使程式碼重用度高,易於維護。