天天看點

Spring源碼 - AOP

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

繼續閱讀