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