采网站建设南京发布最新通报

news/2025/9/22 17:58:23/文章来源:
采网站建设,南京发布最新通报,怎么样推广网站,天津工程信息网AOP简介 AOP(Aspect oriented Programming)面向切面编程#xff0c;就是面向特定的方法编程#xff0c;将方法比作一个一个的切面#xff0c;可以向指定的方法执行前/后执行自己的逻辑。如统一获取方法的时间。 应用场景#xff1a; 记录操作日志、权限控制、事务管理 优…AOP简介 AOP(Aspect oriented Programming)面向切面编程就是面向特定的方法编程将方法比作一个一个的切面可以向指定的方法执行前/后执行自己的逻辑。如统一获取方法的时间。 应用场景 记录操作日志、权限控制、事务管理 优势 代码无侵入无需在原先的代码上修改、减少重复代码、提高开发效率、维护方便 原理 动态代理运行时会注入一个动态代理对象实现了注入的接口动态代理对象会先后执行切片前的方法、调用方法、切片后的方法。 在动态代理时的userMapper 核心概念 JoinPoint连接点能够被控制的方法在spring中指方法的运行含有方法执行时的相关信息。 Advice通知指重复、相同的功能即共性功能。 PointCut切入点匹配连接的条件实际被AOP控制的方法通知只有在切入点方法执行时被应用。 Aspect切面描述通知和切入点的对应关系 target目标对象通知所应用的对象。 使用方式 1.创建切面类 标记注解Aspect Component 2.创建切面方法参数为ProceedingJoinPoint连接点在方法上加入Around注解表明该切面在哪个方法调用时执行。 切入点表达式Around(execution(* com.yi.springbootwebquickstart.controller.*.*(..))) 第一个*表示任意返回值第二个*表示controller包下的任意类第三个*表示类中的任意方法 根据自定义注解匹配Around(annotation(com.yi.springbootwebquickstart.aop.mylog))Component Aspect Slf4j public class TimeAspect {Around(execution(* com.yi.springbootwebquickstart.controller.*.*(..)))public void recordTime(ProceedingJoinPoint joinPoint) throws Throwable {long begin System.currentTimeMillis();Object result joinPoint.proceed();long end System.currentTimeMillis();log.info({} cost time:(end-begin),joinPoint.getSignature());} } 通知 1.通知类型 Around 环绕通知在目标方法执行前后执行 Before 前置通知在目标方法执行前执行 After 后置通知在目标方法执行后执行有异常也会执行 AfterReturning 返回后通知在目标方法返回后执行有异常不会执行 AfterThrowing 异常后通知在目标方法发生异常后执行 Component Aspect Slf4j public class TimeAspect {//定义一个方法将相同的切入点表达式抽出出来Pointcut(execution(* com.yi.springbootwebquickstart.controller.*.*(..))) public void pt(){}Around(pt())public Object recordTime(ProceedingJoinPoint joinPoint) throws Throwable {long begin System.currentTimeMillis();Object result joinPoint.proceed();long end System.currentTimeMillis();log.info({} cost time:(end-begin),joinPoint.getSignature());return result;}Before(pt())public void before(){System.out.println(before);}After(pt())public void after(){System.out.println(after);}AfterReturning(pt())public void afterReturning(){System.out.println(afterReturning);}AfterThrowing(pt())public void afterThrowing(){System.out.println(afterThrowing);} } 2.通知顺序 默认是按照类名以环绕顺序来执行字母越靠前通知前方法越先执行通知后方法越后执行。 可以加入在类名上加入Order(int) 来控制执行顺序数字越小通知前方法越先执行通知后方法越后执行。 连接点可以被AOP控制的方法 在Spring中特指方法的运行可以通过连接点获取方法执行时的相关信息如类名、方法名、方法参数等。 Around通知只能用ProceedingJoinPoint其他通知只能用JointPoint log.info(目标方法的类名:{},joinPoint.getTarget().getClass().getName()); log.info(目标方法签名:{},joinPoint.getSignature()); log.info(目标方法方法名{},joinPoint.getSignature().getName()); log.info(运行参数:{},joinPoint.getArgs());

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/909896.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

专业定制网站公司西安鑫瀚通网站建设

在上一篇《C#:异步编程中的 async 和 await》 中简单介绍了在 C# 中的异步编程以及 async 和 await 编程模型,本文介绍下异步编程的注意事项,主要有以下几个方面。同步中调用异步在同步代码中调用异步代码,容易导致死锁&#xff0…

做教程的网站内容怎么找wordpress适合二次开发吗

1 引言 React Conf 2019 在今年 10 月份举办,内容质量还是一如既往的高,如果想进一步学习前端或者 React,这个大会一定不能错过。 希望前端精读成为你学习成长路上的布道者,所以本期精读就介绍 React Conf 2019 - Day1 的相关内…

# MySQL索引结构发展历史:从B树到B+树的演进之路

# MySQL索引结构发展历史:从B树到B+树的演进之路Posted on 2025-09-22 17:53 吾以观复 阅读(0) 评论(0) 收藏 举报关联知识库:# MySQL索引结构发展历史:从B树到B+树的演进之路MySQL索引结构发展历史:从B树到…

通过ML.Net调用Yolov5的Onnx模型

本文介绍如何在.Net环境调用Yolov5的模型,把yolov5的pt模型转成onnx模型,接着通过Microsoft.ML.OnnxRuntime调用yolov5的onnx模型1.安装yolov5 git clone https://github.com/ultralytics/yolov5.git cd yolov5 pyth…

Java-如何在Eclipse开发-数组

Java-如何在Eclipse开发-数组数组的常见概念: 数组:是多个相同类型数据按一定顺序排列的集合,并使用一个名字命名,并通过编号的方式对这些数据进行统一管理。 数组:长度从零开始计算。 链表:不连续而数组是连续的 1)数…

元宇宙与零售业变革:沉浸式体验重构消费全链路 - 指南

pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display: block !important; font-family: "Consolas", "Monaco", "Courier New", …

常用数据生成器

树 期望高度 \(O(\log)\): /* 生成期望树高 O(logn) 级别的树 生成方法:钦定 1 为根,对于后续的节点 i,随机在 [1,i-1] 中选取一个点作为父亲 打乱方法:对所有点重新随机编号 */ #include<random> #include…

沧州建设网站公司网络服务推广

文章目录 图像轮廓查找轮廓绘制轮廓轮廓的面积与周长多边形逼近与凸包外接矩形项目总览【车辆统计】视频加载【车辆统计】去背景【车辆统计】形态学处理【车辆统计】逻辑处理【车辆统计】显示信息【车辆统计】 图像轮廓 查找轮廓 # -*- coding: utf-8 -*- import cv2 import n…

12306网站建设多少钱如何提高百度权重

php中文网最新课程每日17点准时技术干货分享异常处理是软件开发过程中无法逃避的问题。对于一套设计良好代码高效的程序&#xff0c;出现异常的可能性会比较低&#xff0c;但这并不意味着不会出现异常,有些异常甚至会引起严重的后果&#xff0c;所以如何及时的发现程序中的异常…

优秀的集团网站微信公众号制作网页

1、什么是事务 在实际的业务开发中&#xff0c;有些业务操作要多次访问数据库。一个业务要发送多条SQL语句给数据库执行。需要将多次访问数据库的操作视为一个整体来执行&#xff0c;要么所有的SQL语句全部执行成功。如果其中有一条SQL语句失败&#xff0c;就进行事务的回滚&a…

个人两字印章在线制作网站百度关键词查询排名

鲸参谋监测的京东平台10月份牛奶乳品市场销售数据已出炉&#xff01; 10月份&#xff0c;牛奶乳品整体销售上涨。鲸参谋数据显示&#xff0c;今年10月&#xff0c;京东平台上牛奶乳品的销量将近1700万&#xff0c;同比增长1%&#xff1b;销售额将近17亿&#xff0c;同比增长约5…

谁可以做网站优化排名推广网站制作用到什么技术

在本文中&#xff0c;我将展示如何在Apache Aries Blueprint xml文件中添加一些内联脚本。 我不一定会称其为最佳实践&#xff0c;但我一直认为这种功能可能有用。 可能当我被迫使用xml来模拟命令式编程结构&#xff08;例如使用Apache Ant时&#xff09;时&#xff0c;我开始…

大庆网站制作公司地址大学生网页设计作业成品

MD[Gitlab 安装手册] Gitlab 安装手册 说明: Gitlab最低配置1核2g,建议配置2核4g以上且单独部署,如有多项目CI/CD要求,可以4核8g 1. 安装相关依赖(安装policycoreutils) [rootsjclinux ~]# yum -y install policycoreutils openssh-server openssh-clients postfix 2. 启动s…

做网站每年要交不费用吗成都公司注册地址托管

一.什么是死锁&#xff1f; 死锁是由于两个或以上的线程互相持有对方需要的资源&#xff0c;导致这些线程处于等待状态&#xff0c;无法执行。 二.产生死锁的四个必要条件 1.互斥性&#xff1a;线程对资源的占有是排他性的&#xff0c;一个资源只能被一个线程占有&#xff0c;直…

中国做铁塔的公司网站网站建设企业服务

目录 力扣724. 寻找数组的中心下标 解析代码 力扣724. 寻找数组的中心下标 724. 寻找数组的中心下标 LCR 012. 寻找数组的中心下标 1991. 找到数组的中间位置&#xff08;三道一样的题&#xff0c;一鱼三吃&#xff09; 难度 简单 给你一个整数数组 nums &#xff0c;请…

基于RSSI修正的定位算法分析

分析和实现基于RSSI(接收信号强度指示)修正的定位算法 % 基于RSSI修正的定位算法分析 clear; clc; close all;%% 1. 参数设置 fprintf(设置定位系统参数...\n);% 环境参数 n = 2.5; % 路径损耗指数 (…

接口测试流程+jmeter并发+面试题(总结) - 指南

接口测试流程+jmeter并发+面试题(总结) - 指南2025-09-22 17:49 tlnshuju 阅读(0) 评论(0) 收藏 举报pre { white-space: pre !important; word-wrap: normal !important; overflow-x: auto !important; display…

c# 反射动态添加Attribute

//测试类 var type = typeof(TestClass);//给类对象添加、获取特性 TypeDescriptor.AddAttributes(type, indexAttr); //var attr = TypeDescriptor.GetAttributes(type)[typeof(DynamicCacheBufferAtrribute)] as Dyn…

wordpress站内链接跳转优秀企业宣传册样本

这段代码是 _make_causal_mask 函数中处理滑动窗口局部注意力的部分。这里的目的是创建一个额外的掩码,以便在自注意力机制中只考虑每个位置附近的一定数量的位置,而不是所有之前的位置。这通常用于减少计算复杂性和提高长序列处理的效率。 代码分析如下: diagonal = past_k…

网站开发搭建合同范本如何建立免费网站

转载请说明出处~本文教程翻译jni官方文档的部分内容。要查看Jni官方文档&#xff0c;请点击这里先感叹一下时光如水&#xff0c;岁月不留人哇有木有&#xff01;&#xff01;&#xff01;认真想想在XMU的这三年&#xff0c;真的改变了我好多。我还清楚地记得学习C语言写的第一个…