目录
一、事管理
1.开启事务管理日志
2.开启事务管理
3.传播行为
二、AOP
1.通知类型
2.通知顺序
3.切入点表达式
4.连接点
一、事务管理
1.开启事务管理日志
2.开启事务管理
3.传播行为
当一个事务方法被另一个事务方法调用时,这个事物方法应该如何进行事物控制
二、AOP
Aspect Oriented Programming(面向切面编程、面向方面编程),其实就是面向特定方法编程
连接点:JoinPoint,可以被AOP控制的方法
通知:Advice,指那些重复的逻辑,也就是共性功能
切入点:PointCut,匹配连接点的条件,通知仅会在切入点方法执行时被应用
切面:Aspect,描述通知与切入点的对应关系(通知+切入点)
目标对象:Target,通知所应用的对象
1.通知类型
@PointCut:
java">package com.itheima.tialswebmanagementapplication.aop;import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.aspectj.lang.annotation.Pointcut;
import org.springframework.stereotype.Component;@Component
@Aspect
public class TimeAspect {@Pointcut("execution(* com.itheima.tialswebmanagementapplication.Severice.impl.*.*(..))")private void pt(){};@Around("pt()")public Object testTime(ProceedingJoinPoint joinPoint) throws Throwable {long begin = System.currentTimeMillis();Object proceed = joinPoint.proceed();long end = System.currentTimeMillis();System.out.println(joinPoint.getSignature()+"执行时间:"+(end-begin));return proceed;}}
注意:private,仅能在当前切面类中引用该表达式,public,在其他外部的切面类中也可以引用该表达式
2.通知顺序
当有多个切面的切入点都匹配到目标方法,目标方法运行时,多个通知方法都会被执行
3.切入点表达式
execution:
注意:根据业务需要,可以使用且(&&)、或(||)、非(!)来组合比较复杂的切入点表达式
annotation: