JavaWeb——事务管理、AOP

目录

一、事管理

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:

4.连接点

相关推荐
飘然生几秒前
traceId链路 skywalking java agent
java·开发语言·skywalking
li星野2 分钟前
【学习记录】射线补偿原理与实现:从物理模型到MATLAB代码
开发语言·学习·matlab
IT研究室7 分钟前
最新计算机毕业设计选题推荐-基于spring boot的母婴全程服务管理系统-网站-文档指导-Java-springboot
java·spring boot·课程设计
CRMEB15 分钟前
商品 SKU 设计,从简单规格到多规格踩过什么
java·前端·数据库·开源
霸道流氓气质16 分钟前
基于 Spring @Profile 的 MQ 消费者按需开关设计
java·后端·spring
Chloe.Zz16 分钟前
一篇入门Agent
开发语言·前端·javascript
余醉 | dtminer28 分钟前
3337 OTU×999置换:群落构建mBio 高分沉积物
开发语言·r语言·微生物学
白杨尚青29 分钟前
C++入门篇(十八):模板进阶——非类型参数、特化全家桶与分离编译(收官篇)
开发语言·c++·笔记·模板·偏特化·分离编译
silvamux_33 分钟前
4款新模型商务邮件翻译横评:0.98到0.46
android·java·javascript
qetfw1 小时前
Bash 内置与外部命令:type、command 与 builtin 验证
linux·开发语言·bash