1. 程式人生 > >spring的IOC(控制反轉)與AOP(面向切面程式設計)

spring的IOC(控制反轉)與AOP(面向切面程式設計)

       一直對spring的兩大特性IOC與AOP瞭解的模模糊糊,不知道怎麼區分,怎麼理解。

今天看了一篇講spring常用註解的文章和spring AOP的文章,引用這兩個作者的觀點,感覺對這兩個特性的瞭解清晰了很多。

IOC:中文名(控制反轉/依賴注入),可以看成是類例項的注入

(比如在action類裡引用service層的類例項。之所以叫控制反轉,是因為

原來要引用service中的類例項,要在action類裡去通過關鍵字new,去新建一個service例項。這個新建的控制權在action類。spring的IOC

則是把新建service類例項的權利給了spring容器(通過註解的方式))。

AOP:中文名(面向切面程式設計),因為它是在IOC的基礎上發展起來的,所以,可以看作是一段可執行程式碼的注入

---理解有誤的地方希望大家能夠指出