- 織入 Advisor
織入是将增強添加到目标類具體連接配接點上的過程,AOP有三種織入方式: ①編譯期織入:需要特殊的Java編譯器(例如AspectJ的ajc); ②裝載期織入:要求使用特殊的類加載器,在裝載類的時候對類進行增強; ③運作時織入:在運作時為目标類生成代理實作增強。 Spring采用了動态代理的方式實作了運作時織入,而AspectJ采用了編譯期織入和裝載期織入的方式。
- 引入 Introduction
引介是一種特殊的增強,它為類添加一些屬性和方法。這樣,即使一個業務類原本沒有實作某個接口, 通過引介功能,可以動态的為該業務類添加接口的實作邏輯,讓業務類成為這個接口的實作類。