面試aop與ioc原理 一個(gè)關(guān)于Spring,依賴注入,控制反轉(zhuǎn)有什么用?
一個(gè)關(guān)于Spring,依賴注入,控制反轉(zhuǎn)有什么用?IOC(控制反轉(zhuǎn)):將組件對象的控制權(quán)從程序代碼本身轉(zhuǎn)移到外部容器。依賴注入:在運(yùn)行過程中,有外部容器將依賴對象動(dòng)態(tài)注入組件(構(gòu)造方法和設(shè)置方法)。其
一個(gè)關(guān)于Spring,依賴注入,控制反轉(zhuǎn)有什么用?
IOC(控制反轉(zhuǎn)):將組件對象的控制權(quán)從程序代碼本身轉(zhuǎn)移到外部容器。
依賴注入:在運(yùn)行過程中,有外部容器將依賴對象動(dòng)態(tài)注入組件(構(gòu)造方法和設(shè)置方法)。其優(yōu)點(diǎn)如下:1。降低組件間的耦合度,實(shí)現(xiàn)軟件層間的解耦。
2. 容器可以提供許多服務(wù),如事務(wù)管理、消息服務(wù)處理等。
3. 容器提供了單例模式支持,開發(fā)人員不需要自己編寫實(shí)現(xiàn)代碼。
4. 容器提供了AOP技術(shù),易于實(shí)現(xiàn)權(quán)限攔截、運(yùn)行時(shí)監(jiān)控等功能。
如何學(xué)習(xí)spring?是先學(xué)習(xí)設(shè)計(jì)模式還是spring?
當(dāng)我看到最后一個(gè)可愛的答案時(shí),我想笑。主要的問題應(yīng)該是我還沒有接觸到spring框架。我有以下學(xué)習(xí)建議:
spring框架包含了許多頂級(jí)的架構(gòu)設(shè)計(jì)思想。研究它需要很多經(jīng)驗(yàn)。而設(shè)計(jì)模式也是一個(gè)大課題,有一本厚厚的設(shè)計(jì)模式書供你學(xué)習(xí)。所以,我們不能說誰先學(xué)這兩樣?xùn)|西,應(yīng)該用哪兩樣?xùn)|西,應(yīng)該學(xué)哪兩樣?xùn)|西。
有人說設(shè)計(jì)模式是為了彌補(bǔ)Java的缺點(diǎn),這是合理的。把23種傳統(tǒng)的設(shè)計(jì)模式都整理出來需要一點(diǎn)時(shí)間,要學(xué)會(huì)掌握它們確實(shí)很難。