JavaEE进阶 Spring AOP(6/1)

news2024/11/20 18:45:33

目录

1.什么是AOP

2.Spring AOP可以干什么

3.AOP的组成成分

4.SpringAOP实现步骤

5.SpringAOP的原理


1.什么是AOP

AOP是面向切面编程,是一种思想

Spring AOP是一种具体的技术

2.Spring AOP可以干什么

1.用户登录状态的判断

2.统一的日志记录(比如记录访问次数)

3.统一方法执行实践

3.AOP的组成成分

环绕通知包含前置通知和后置通知

4.SpringAOP实现步骤

1.引入aop依赖

手动添加

2.定义切面(创建切面类)

定义一个类,@Component @Aspect

3.定义切点(配置拦截规则)

路径写法: execution(返回值 类的路径.* (..))

上图这个时设置拦截路径的 

@Pointcut("哪些类需要拦截")

4.定义通知的实现(AOP具体实现了什么?)

5.SpringAOP的原理

SpringAOP的原理是动态代理,在运行的时候来实现切面织入

动态代理分为两类,JDK和第三方的CGLIB 由于JDK只支持有接口的类进行代理,所以引入第三方,并且第三方的性能比较好。他们的底层都是基于反射

JDK动态代理和CGLIB的区别

1.JDK要求类必须实现接口

2.CGLIB通过实现被代理类的子类来实现。不能代理被final修饰的类

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

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

相关文章

基于深度学习的高精度牙齿健康检测识别系统(PyTorch+Pyside6+YOLOv5模型)

摘要:基于深度学习的高精度牙齿健康检测识别系统可用于日常生活中检测牙齿健康状况,利用深度学习算法可实现图片、视频、摄像头等方式的牙齿目标检测识别,另外支持结果可视化与图片或视频检测结果的导出。本系统采用YOLOv5目标检测模型训练数…

c++代码实现一个线程池(清晰明了,一看就懂)

线程池的应用 在我认知中,任何网络服务器都是一个死循环。这个死循环长下面这个样子。 基本上服务器框架都是基于这个架构而不断开发拓展的。 这个死循环总共分为四个步骤,可以涵盖所有客户端的需求,然而目前绝大多数企业不会用这样的架构。…

带有 Utopia Messenger 的免费 ChatGPT 助手

全世界都喜欢 ChatGPT!而且这个工具从未如此易于访问。没有限制、没有VPN、没有代理和佣金。现在您可以使用 Utopia Messenger 的传奇聊天的全部功能。 ChatGPT是每个线上用户的必备工具。它为我们提供任何所需的数据,生成内容,并解决多项任…

[数据集][目标检测]目标检测数据集黄瓜数据集VOC格式1309张

数据集格式:Pascal VOC格式(不包含分割路径的txt文件和yolo格式的txt文件,仅仅包含jpg图片和对应的xml) 图片数量(jpg文件个数):1308 标注数量(xml文件个数):1308 标注类别数:1 标注类别名称:["cucumber"] 每…

图论与算法(1)图论概念

1. 图论与算法 在计算机科学中,图论与算法是两个重要且紧密相关的领域。图论研究图的性质和特征,而算法设计和分析解决问题的方法和步骤。图论提供了一种形式化的方法来描述和分析各种关系和连接,而算法则为解决图相关的问题提供了有效的解决…

【刷题之路】单调栈秒解每日温度

一、题目描述 原题链接:https://leetcode.cn/problems/daily-temperatures/ 题目描述: 给定一个整数数组 temperatures ,表示每天的温度,返回一个数组 answer ,其中 answer[i] 是指对于第 i 天,下一个更高…

【JVM】什么是双亲委派机制?

一、为什么会有这种机制? 类加载器将.class类加载到内存中时,为了避免重复加载(确保Class对象的唯一性)以及JVM的安全性,需要使用某一种方式来实现只加载一次,加载过就不能被修改或再次加载。 二、什么是双…

docker安装 sqlserver2017 或者 2008

一、必要条件 服务器的运行内存必须大于2GB 二、拉取2017镜像 docker pull mcr.microsoft.com/mssql/server:2017-latest三、启动镜像 docker run --name sqlserver2017 --restart always -v /home/ceshi1:/var/opt/mssql -d -e ACCEPT_EULAY -e SA_PASSWORDqwer!#123 -…

C语言参悟-运算符表达式和语句

C语言参悟-运算符表达式和语句 一、概述二、运算符0. 运算符分类1. 数学运算符2. 逻辑运算符3. 二进制运算符4. 便捷运算符 三、表达式四、语句 一、概述 在我刚开始学C语言的时候,语句和运算符号这些对我来说还是很陌生的。 现在来看我对于这个的理解其实就是一种…

AUTOSAR架构介绍

简介 AUTOSAR(AUTomotive Open System ARchitecture)是一种面向汽车电子系统的软件架构标准。AUTOSAR为汽车电子系统提供一种开放式的软件架构标准,以促进汽车电子系统的可重用性、互操作性和可扩展性。它包括一系列的规范和标准&#xff0c…

Force Dimension 全系列触觉反馈装置

力觉或触觉是人体感官中具有双向传递信息能力的信息载体。借助于力反馈,人们可以真实的按照人类的肢体语言进行人机自然互动和信息交流,用户通过应用力反馈,可以获得和触摸实际物体时相同的运动感,从而产生更真实的沉浸感。 力反馈…

毕业遭失业,前途一片黑暗...不得已转行软件测试,太多心酸和无助...

大家好,我叫小涵,一名应届毕业生,目前已经成功转行互联网。写这篇文章的目的是因为很多人不喜欢自己的现状,想通过学习改变,奈何没有出路,所以想为这部分人提供一些思路;其次文章会总结我自己转…

汽车电子设计之SBC芯片

参考英飞凌SBC官网资料:https://www.infineon.com/cms/cn/product/automotive-system-ic/system-basis-chips-sbc/ SBC芯片在汽车电子领域可谓占一席之地了。那么什么是SBC?怎么用?用在哪里?主要特性? 目录 1.什么是…

unity Sockets通信 使用UDP协议,设置客户端电脑网络配置,使用新线程获取数据,解决卡顿问题,

今天调试和服务器连接,发现始终获取不到服务器的数据, 电脑和服务器都在同一局域网,仍然获取不到, 下面是电脑环境配置, 第一步: 设置网络为专用网络,然后点击配置防火墙和安全设置,…

Unity——2D小游戏笔记整理

【每日一句:清晨和夜晚都请用尽全力去生活】 目录 一、环境搭建 二、人物 三、相机跟随人物移动 四、平铺精灵 五、血条跟随敌人行走 六、脚本逻辑 【玩家行走方法】 【玩家跳跃方法】 【改变玩家血量值方法】 【创建玩家子弹方法】 【主角血量&#xff…

《计算机网络——自顶向下方法》精炼——3.7(1)

少而好学,如日出之阳;壮而好学,如日中之光;志而好学,如炳烛之光。——刘向 文章目录 拥塞控制方法ATM ABR拥塞控制 TCP拥塞控制TCP拥塞控制算法的实现慢启动拥塞避免快速恢复总结 拥塞控制方法 在上一篇文章中,我们介绍了在数据传输过程中出现的问题。本节将简要介…

Bitbucket 的SSH keys 突然无法识别 -> Permission denied (publickey)问题

Bitbucket 的SSH keys 突然无法识别 -> Permission denied (publickey)问题 用了几年的SSH keys突然出现Permission denied (publickey)问题,如下图所示: 1、首先排查项目权限问题,确认其他账号可更新代码,排除 2、排除SSH k…

【软件测试】白盒测试与黑盒测试

白盒测试与黑盒测试 测试用例定义生成的基本准测设计步骤作用测试数据和测试用例的区别 黑盒测试定义优点缺点黑盒测试的实施过程等价类划分法边界值分析法错误推测法因果图判定表判定表例题 白盒测试介绍覆盖程度基本路径覆盖程序流程图简化成控制流图计算圈复杂度导出测试用例…

chatGPT 学习笔记

学习笔记:chatGPT chatGPT 概述 什么是 chatGPT ?(要说明定义、来源、功能和特点) ChatGPT 是 OpenAI 开发的一个大型预训练语言模型,它基于 GPT-3.5 模型,可以在对话中生成类似人类的文本响应,简称对齐。它使用自监…

基于节点分层的配网潮流前推回代方法【IEEE33节点】(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…