什麼是AOP?

AOPAspect Oriented Programming的縮寫意爲面向切面編程也叫面向方面),能夠經過預編譯方式和運行期動態代理實如今不修改源代碼的狀況下給程序動態統一添加功能的一種技術編程

AOP是目前軟件開發中的一個熱點也是Spring框架中的一個重要內容利用AOP能夠對業務邏輯的各個部分進行隔離從而使得業務邏輯各部分之間的耦合度下降提升程序的可重用性同時提升了開發的效率安全

AOPOOP的延續主要的功能是日誌記錄性能統計安全控制事務處理異常處理等等框架

Spring中提供了AOP的豐富支持容許經過分離應用的業務邏輯與系統級服務例如審計(auditing)和事務(transaction)管理進行內聚性的開發應用對象只實現它們應該作的——完成業務邏輯——僅此而已它們並不負責甚至是意識其它的系統級關注點例如日誌或事務支持性能