IOC和AOP

控制反轉(Inversion Of Controll):

對相互依賴對象的創建和協調工作都交由Spring容器來實現,當某個對象需要其他協作對象時,由Spring動態的通過依賴注入(DI, Dependency Injection)的方式來提供協作對象,其只需要關注業務本身的邏輯即可


面向切面編程(Aspect Oriented Programming):

效果:分離系統中的各種關注點,進一步解耦模塊間的相互依賴,提高模塊的重用性

應用場景:權限認證、日誌、事務、全局事務處理等,幾乎業務功能都需要的功能

Spring 中的AOP:

Spring使用動態代理實現AOP,不會去修改字節碼,而是在內存中臨時爲方法生成一個AOP對象,這個AOP對象包含了目標對象的全部方法,並且在特定的切點做了增強處理,並回調原對象的方法。

Spring AOP自動選擇JDK動態代理和CGLIB動態代理:

JDK動態代理需要類實現接口,CGLIB動態代理在運行時動態的生成某個類的子類(如果某個類被標記爲final,那麼它是無法使用CGLIB做動態代理的)。

AOP:http://www.importnew.com/24305.html

 

 

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