前面講解了spring的特性之一,IOC(控制反轉(zhuǎn)),因為有了IOC,所以我們都不需要自己new對象了,想要什么,spring就給什么。而今天要學(xué)習(xí)spring的第二個重點,AOP。一篇講解不完,所以這篇文章主要介紹一下什么是AOP,如何去理解AOP。理解完之后,在spring中如何使用AspectJ AOP框架的??吹枚瑢懙某鰏pring配置的那么就學(xué)的差不多了。加油。建議都自己手動實現(xiàn)一遍,這樣才能更好的理解。
--WH
一、什么是AOP?
AOP:面向切面編程,采用橫向抽取機制,取代了傳統(tǒng)的縱向繼承
IOC:控制反轉(zhuǎn)
跟IOC一樣,我也不知道,這么高大上的名稱,被嚇壞了,MD,但是通過前面一節(jié)的學(xué)習(xí),IOC不就是讓spring給我們new對象嗎,而不需要我們自己創(chuàng)建,
而AOP是一種面向切面的思想,但是我們平常說的spring使用了AOP,實際上說的是spring實現(xiàn)AOP思想的底層原理,而底層原理就是使用動態(tài)代理來增強某個方法。所以平常說AOP技術(shù)實際上就是指通過動態(tài)代理來對方法進行增強。
比如:我們需要對一個已經(jīng)寫好的類中的方法進行增強,在不改動該類方法的代碼的情況下,如何做呢?