AOP爲Aspect Oriented Programming的縮寫,意爲:面向切面編程(也叫面向方面),能夠經過預編譯方式和運行期動態代理實如今不修改源代碼的狀況下給程序動態統一添加功能的一種技術。編程
AOP是目前軟件開發中的一個熱點,也是Spring框架中的一個重要內容。利用AOP能夠對業務邏輯的各個部分進行隔離,從而使得業務邏輯各部分之間的耦合度下降,提升程序的可重用性,同時提升了開發的效率。安全
AOP是OOP的延續,主要的功能是:日誌記錄,性能統計,安全控制,事務處理,異常處理等等。框架
在Spring中提供了AOP的豐富支持,容許經過分離應用的業務邏輯與系統級服務(例如審計(auditing)和事務(transaction)管理)進行內聚性的開發。應用對象只實現它們應該作的——完成業務邏輯——僅此而已。它們並不負責(甚至是意識)其它的系統級關注點,例如日誌或事務支持。 性能