Spring AOP VS AspectJ

  1. Spring AOP
    1. 使用簡單
    2. 僅支持對Spring容器管理的Bean的增強,非Spring容器管理的對象(如業務POJO等)無法被攔截
    3. 僅支持對方法級別的增強,無法對成員變量、getter&setter等進行增強
    4. 動態代理類在運行時生成
    5. 無法直接對方法內部調用進行增強
    6. 無需引入額外的依賴和插件
  2. AspectJ
    1. 使用相對複雜
    2. 可以對項目中所有對象進行增強
    3. 可以對類的方法、成員變量、getter&setter等都進行增強
    4. 動態代理類在編譯時生成
    5. 可直接對內部調用進行增強
    6. 需要引入AspectJ的依賴和編譯、織入插件
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章