当前位置: 首页 > news >正文

AOP的基本应用案例---统计每个函数的执行时间

1.导入依赖:

<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-aop</artifactId>
</dependency>

2.准备好要计算的SpringBoot的项目(本案例以service的实现类为例)

                                    

3.编写AOP的代码:

package com.itheima.aop;import lombok.extern.slf4j.Slf4j;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.springframework.stereotype.Component;@Slf4j
@Aspect//标时当前的类是一个AOP类
@Component
public class RecordTimeAspect {@Around("execution(* com.itheima.service.impl.*.*(..))")public Object recordTime(ProceedingJoinPoint pjp) throws Throwable {//1.记录方法开始时的时间long begin = System.currentTimeMillis();//2.执行原始的方法Object result = pjp.proceed();//3.记录方法结束的时间long end = System.currentTimeMillis();log.info("方法{}执行耗时:{}ms",pjp.getSignature(),end-begin);return result;}
}

4.执行结果:

相关文章:

  • IntelliJ IDEA 项目导入后 Java 文件图标显示为红色小写 j 的解决方法
  • LVS+keepalived搭建高可用架构
  • 资源直方图与资源平衡技术在资源约束下的作用是什么?
  • Paramiko 使用教程
  • [特殊字符] UnionFS(联合文件系统)原理解析:容器背后的存储技术
  • css button 点击效果
  • Github 2025-04-17 Go开源项目日报 Top9
  • Go:低级编程
  • QT 初体验
  • 无源蓝牙技术与传统RFID(射频识别)对比
  • 使用DDR4控制器实现多通道数据读写(八)
  • 在极狐GitLab 身份验证中如何使用 OIDC?
  • 大数据分析02 基础语法差异
  • 【FFmpeg从入门到精通】第二章-FFmpeg工具使用基础
  • Java虚拟机(JVM)平台无关?相关?
  • BFC详解
  • uniapp上传图片时(可选微信头像、相册、拍照)
  • 基于Canal+Spring Boot+Kafka的MySQL数据变更实时监听实战指南
  • ETL数据集成平台在电商行业五大应用场景
  • 阅读分析Linux0.11 /boot/head.s
  • 秘鲁总统任命前司法部长阿拉纳为新总理
  • 小耳朵等来了春天:公益义诊筛查专家走进安徽安庆
  • 商人运作亿元“茅台酒庞氏骗局”,俩客户自认受害人不服“从犯”判决提申诉
  • 山东:小伙为救同学耽误考试属实,启用副题安排考试
  • 甘肃发布外卖食品安全违法行为典型案例:一商家用鸭肉冒充牛肉被罚
  • 通化市委书记孙简升任吉林省副省长