黑马程序员2023新版JavaWeb开发教程,实现javaweb企业开发全流程(

事务管理:
Day13-01. 事务管理-事务回顾-spring事务管理 P172 - 02:13
开启事务后开始操作,操作有异常就回滚,将前面的操作撤销,一组操作都成功就提交事物:

Day13-01. 事务管理-事务回顾-spring事务管理 P172 - 11:40

在application.yml中配置事务管理日志的开关:

注意点:

Day13-03. 事务管理-事务进阶-propagation属性 P174 - 00:38


@Transactional的属性propagation的属性值:
- 使用默认值REQUIRED:出现异常回滚的时候,日志的信息也会因为回滚而消失;

- REQUIRES_NEW:开启新事务,日志不受影响。


AOP
Day13-04. AOP基础-快速入门 P175 - 00:35

使用Spring AOP:
- 导入依赖:Spring项目在pom.xml中导入依赖。
- 编写AOP程序:针对于特定方法根据业务需要进行编程。


核心概念:
Day13-05. AOP基础-核心概念 P176 - 00:17

一旦进行了aop程序的开发,最终运行的是基于目标对象生成的代理对象:

通知类型:表示通知方法什么时候执行

AOP中提供了一个api:ProceedingJoinPoint,我们使用此接口中的proceed()方法调用原始方法,getSignature()知道调用了哪个方法。

减少重复代码:抽取公共的切点表达式

通知顺序:
Day13-07. AOP进阶-通知顺序 P178 - 03:40

切入点表达式:
Day13-08. AOP进阶-切入点表达式-execution P179 - 00:15


execution():



@annotation:
1、自定义一个注解类,用来标识方法

2、注解上需要加两个元注解来描述当前注解
- @Retention:描述当前注解什么时候生效
- @Target:描述当前注解作用在什么地方
图中表述了@MyLog作用在方法上,当程序运行时注解就生效:

3、在方法上加我们自定义的注解@MyLog

4、写切入点表达式


连接点

使用Spring AOP的具体步骤:
- 引入aop的起步依赖
- 创建一个类,类上加注解@Compoment将此类交给ioc容器,加注解@Aspect代表当前类是AOP类,即切面类。
- 在此类里面编写通知方法
- 通知方法上加通知类型的注解,表示此通知方法在什么时候执行,例如:@Around表示在目标方法前后都执行此通知方法
- 在通知类型的注解内加入或引入:切入点表达式。