IOC:依賴注入(控制反轉(zhuǎn)),兩種注入方式:依賴注入和設(shè)置注入,通過容器動態(tài)地將某種依賴注入到組件中,通過Spring來控制對象的生命周期和對象之間的關(guān)系。(傳統(tǒng)的對象創(chuàng)建的方式,由調(diào)用者創(chuàng)建被調(diào)用者的實(shí)例,而在Spring中,由spring來完成被調(diào)用者的實(shí)例,注入給調(diào)用者);優(yōu)點(diǎn):降低耦合度和復(fù)雜性。IOC的作用相當(dāng)于一個醫(yī)生,對象相當(dāng)于病人,對象所需的外部資源相當(dāng)于藥品,醫(yī)生根據(jù)病人的需求,給病人,
AOP:利用橫切技術(shù),剖解開封裝的對象內(nèi)部,將影響了很多類的公共行為封裝到一個可重用模塊中。(將那些與業(yè)務(wù)無關(guān),卻為業(yè)務(wù)模塊所共同調(diào)用的邏輯或責(zé)任封裝起來,便于減少系統(tǒng)的重復(fù)代碼,降低模塊間的耦合度)。實(shí)現(xiàn)AOP的技術(shù):動態(tài)代理(利用截取消息的方式,對消息進(jìn)行裝飾,以取代原有對象行為的執(zhí)行);靜態(tài)織入(引入特定的語法創(chuàng)建“方面”,使編譯器在編譯時織入有關(guān)“方面”的代碼)。AOP使用場景:權(quán)限檢查、緩存、內(nèi)容傳遞、錯誤處理、延遲加載、調(diào)試、日志記錄、性能調(diào)優(yōu)......