一头岔、aop 思想介紹
- 橫向重復(fù),縱向抽取 filter
- 動(dòng)態(tài)代理
- interceptor中
二苞冯、spring中的aop概念
- 封裝了動(dòng)態(tài)代理技術(shù).來(lái)體現(xiàn)aop.
三趾徽、spring實(shí)現(xiàn)aop的原理
動(dòng)態(tài)代理(有接口的話優(yōu)先使用動(dòng)態(tài)代理)
被代理對(duì)象必須要實(shí)現(xiàn)接口,才能產(chǎn)生代理對(duì)象。如果沒(méi)有接口將不能使用動(dòng)態(tài)代理技術(shù)cglib代理(沒(méi)有接口)
第三方代理技術(shù),cglib代理.可以對(duì)任何類生成代理惨远,代理的原理是對(duì)目標(biāo)對(duì)象進(jìn)行繼承代理谜悟。如果目標(biāo)對(duì)象被final修飾,那么該類無(wú)法被cglib代理.
四北秽、aop名詞學(xué)習(xí)
五葡幸、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)對(duì)象
|--> 03.準(zhǔn)備通知
|--> 04.配置進(jìn)行織入,將通知織入目標(biāo)對(duì)象中
-
注解配置步驟
|--> 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)對(duì)象
|--> 03.準(zhǔn)備通知
|--> 04.配置進(jìn)行織入,將通知織入目標(biāo)對(duì)象中
六、spring中aop事務(wù)
-
spring封裝了事務(wù)管理代碼
1)贺氓、事務(wù)操作:打開事務(wù)蔚叨、提交事務(wù)、回滾事務(wù)
2)、事務(wù)操作對(duì)象(因?yàn)樵诓煌脚_(tái),操作事務(wù)的代碼各不相同.spring提供了一個(gè)接口)
??|--> PlatformTransactionManager 接口
????|-> DataSourceTransactionManager
????|-> HibernateTransactionManager
????|-> 注意:在spring中玩事務(wù)管理.最為核心的對(duì)象就是TransactionManager對(duì)象
??|--> spring管理事務(wù)的屬性介紹
????|-> 事務(wù)的隔離級(jí)別
??????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.使用注解
注解可以加在方法上榜苫,也可以抽取出來(lái)加在類上(若個(gè)別方法注解某些屬性不同护戳,還可以單獨(dú)將注解加在方法上)