黑馬程序員2023新版JavaWeb開(kāi)發(fā)教程,實(shí)現(xiàn)javaweb企業(yè)開(kāi)發(fā)全流程(

事務(wù)管理:
?
Day13-01. 事務(wù)管理-事務(wù)回顧-spring事務(wù)管理 P172 - 02:13
?開(kāi)啟事務(wù)后開(kāi)始操作,操作有異常就回滾,將前面的操作撤銷,一組操作都成功就提交事物:

?
Day13-01. 事務(wù)管理-事務(wù)回顧-spring事務(wù)管理 P172 - 11:40
?
在application.yml中配置事務(wù)管理日志的開(kāi)關(guān):

注意點(diǎn):

?
Day13-03. 事務(wù)管理-事務(wù)進(jìn)階-propagation屬性 P174 - 00:38
?

@Transactional的屬性propagation的屬性值:
- 使用默認(rèn)值REQUIRED:出現(xiàn)異?;貪L的時(shí)候,日志的信息也會(huì)因?yàn)榛貪L而消失;

- REQUIRES_NEW:開(kāi)啟新事務(wù),日志不受影響。


AOP
?
Day13-04. AOP基礎(chǔ)-快速入門 P175 - 00:35
?
使用Spring AOP:
- 導(dǎo)入依賴:Spring項(xiàng)目在pom.xml中導(dǎo)入依賴。
- 編寫(xiě)AOP程序:針對(duì)于特定方法根據(jù)業(yè)務(wù)需要進(jìn)行編程。


核心概念:
?
Day13-05. AOP基礎(chǔ)-核心概念 P176 - 00:17
?
一旦進(jìn)行了aop程序的開(kāi)發(fā),最終運(yùn)行的是基于目標(biāo)對(duì)象生成的代理對(duì)象:

通知類型:表示通知方法什么時(shí)候執(zhí)行

AOP中提供了一個(gè)api:ProceedingJoinPoint,我們使用此接口中的proceed()方法調(diào)用原始方法,getSignature()知道調(diào)用了哪個(gè)方法。

減少重復(fù)代碼:抽取公共的切點(diǎn)表達(dá)式

通知順序:
?
Day13-07. AOP進(jìn)階-通知順序 P178 - 03:40
?
切入點(diǎn)表達(dá)式:
?
Day13-08. AOP進(jìn)階-切入點(diǎn)表達(dá)式-execution P179 - 00:15
?

execution():



@annotation:
1、自定義一個(gè)注解類,用來(lái)標(biāo)識(shí)方法

2、注解上需要加兩個(gè)元注解來(lái)描述當(dāng)前注解
- @Retention:描述當(dāng)前注解什么時(shí)候生效
- @Target:描述當(dāng)前注解作用在什么地方
圖中表述了@MyLog作用在方法上,當(dāng)程序運(yùn)行時(shí)注解就生效:

3、在方法上加我們自定義的注解@MyLog

4、寫(xiě)切入點(diǎn)表達(dá)式


連接點(diǎn)

使用Spring AOP的具體步驟:
- 引入aop的起步依賴
- 創(chuàng)建一個(gè)類,類上加注解@Compoment將此類交給ioc容器,加注解@Aspect代表當(dāng)前類是AOP類,即切面類。
- 在此類里面編寫(xiě)通知方法
- 通知方法上加通知類型的注解,表示此通知方法在什么時(shí)候執(zhí)行,例如:@Around表示在目標(biāo)方法前后都執(zhí)行此通知方法
- 在通知類型的注解內(nèi)加入或引入:切入點(diǎn)表達(dá)式。
標(biāo)簽: