spring 中的 AOP

一、aop 思想介紹

  • 橫向重復(fù),縱向抽取 filter
  • 動態(tài)代理
  • interceptor中

二、spring中的aop概念

  • 封裝了動態(tài)代理技術(shù).來體現(xiàn)aop.

三、spring實現(xiàn)aop的原理

  • 動態(tài)代理(有接口的話優(yōu)先使用動態(tài)代理)
    被代理對象必須要實現(xiàn)接口,才能產(chǎn)生代理對象。如果沒有接口將不能使用動態(tài)代理技術(shù)

  • cglib代理(沒有接口)
    第三方代理技術(shù),cglib代理.可以對任何類生成代理,代理的原理是對目標(biāo)對象進行繼承代理。如果目標(biāo)對象被final修飾,那么該類無法被cglib代理.

四、aop名詞學(xué)習(xí)

aop名詞

五、spring中的aop演示

  • xml配置步驟
    |--> 01.導(dǎo)包 4 + 2
    spring的aop包:spring-aspects-4.2.4.RELEASE.jar + spring-aop-4.2.4.RELEASE.jar
    spring需要第三方aop包:com.springsource.org.aopalliance-1.0.0.jar + com.springsource.org.aspectj.weaver-1.6.8.RELEASE.jar

    |--> 02.準(zhǔn)備目標(biāo)對象


    |--> 03.準(zhǔn)備通知


    |--> 04.配置進行織入,將通知織入目標(biāo)對象中

  • 注解配置步驟
    |--> 01.導(dǎo)包 4 + 2
    spring的aop包:spring-aspects-4.2.4.RELEASE.jar + spring-aop-4.2.4.RELEASE.jar
    spring需要第三方aop包:com.springsource.org.aopalliance-1.0.0.jar + com.springsource.org.aspectj.weaver-1.6.8.RELEASE.jar

    |--> 02.準(zhǔn)備目標(biāo)對象


    |--> 03.準(zhǔn)備通知


    |--> 04.配置進行織入,將通知織入目標(biāo)對象中

六、spring中aop事務(wù)

  • spring封裝了事務(wù)管理代碼
    1)、事務(wù)操作:打開事務(wù)、提交事務(wù)、回滾事務(wù)
    2)、事務(wù)操作對象(因為在不同平臺,操作事務(wù)的代碼各不相同.spring提供了一個接口)
    ??|--> PlatformTransactionManager 接口
    ????|-> DataSourceTransactionManager
    ????|-> HibernateTransactionManager
    ????|-> 注意:在spring中玩事務(wù)管理.最為核心的對象就是TransactionManager對象


    ??|--> spring管理事務(wù)的屬性介紹
    ????|-> 事務(wù)的隔離級別
    ??????1 讀未提交
    ??????2 讀已提交
    ??????4 可重復(fù)讀
    ??????8 串行化
    ????|-> 是否只讀 (true 只讀 | false 可操作)
    ????|-> 事務(wù)的傳播行為

  • spring管理事務(wù)方式
    1)、編碼式(不常用)

    01.將核心事務(wù)管理器配置到spring容器

    02.配置TransactionTemplate模板

    03.將事務(wù)模板注入Service

    04.在Service中調(diào)用模板

2)、xml配置(aop)
|-> 01.導(dǎo)包 (aop | aspect | aop聯(lián)盟 | weaving織入包)
|-> 02.導(dǎo)入新的約束(tx)

beans: 最基本、context:讀取properties配置、aop:配置aop、tx:配置事務(wù)通知

|-> 03.配置通知

|-> 04.配置將通知織入目標(biāo)

3)、注解配置(aop) ---> 非常重要
|-> 01.導(dǎo)包 (aop | aspect | aop聯(lián)盟 | weaving織入包)
|-> 02.導(dǎo)入新的約束(tx)

beans: 最基本、context:讀取properties配置、aop:配置aop、tx:配置事務(wù)通知

|-> 03.開啟注解管理事務(wù)

|-> 04.使用注解

注解可以加在方法上,也可以抽取出來加在類上(若個別方法注解某些屬性不同,還可以單獨將注解加在方法上)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,534評論 19 139
  • **** AOP 面向切面編程 底層原理 代理?。?! 今天AOP課程1、 Spring 傳統(tǒng) AOP2、 Spri...
    luweicheng24閱讀 1,502評論 0 1
  • 今天內(nèi)容介紹 Spring框架的IOC基于注解的方式 注解類型 注解生命周期 Spring框架整合JUnit單元測...
  • 唐·王周 拂拂生殘暉, 層層如裂緋。 天風(fēng)剪成片, 疑作仙人衣。
    水鳥千斬翼閱讀 207評論 0 0
  • 最近我總是夢到刀片。手術(shù)刀、壁紙刀,以至于我每次醒來前就已經(jīng)屏住呼吸,連眼皮都不敢張開,仿佛被窩里睡著一條花斑大蟒...
    楊彤宇閱讀 479評論 2 2

友情鏈接更多精彩內(nèi)容