SpringAOP使用详解

AOP使用详解

首先创建maven项目

添加依赖在pom.xml里

创建三层结构和spring.xml文件,只要用到注解就得写扫描包在spring.xml里

上篇文章的知识点总结

对上篇文章excution详细解释

如果把前置通知修改成这个代表只有带有@Logger注解的才会生效

合并注解的方法用&&

在before或者其他通知上加入JoinPoint 可以获取执行的方法名字和参数使得日志更加有意义

在后置放回通知上获取返回值的方法,在@AfterReturning里面添加returning="returnValue",方法里面添加参数Object returnValue

在后置异常通知上添加throwing="ex",在方法上添加Exception ex,用来获取异常信息

获取异常栈信息的方法如下图所示,就是下下图的红字信息打印到控制台上了

引用切点的方式让其他通知引用,意思是把execution放入到方法用,在其他的通知里引用此方法

可以获取bean方法上注解的信息,用@annotation加上通知里参数名字注意通知里的参数不能随便写

环绕通知的写法如下图所示

用基于xml和注解的方式开启AOP ref为要引用的增强类(日志类),id是expression写的内容的名字可以用id引用如pointcut

&&amp意识是java里的&&,&&amp是xml里的书写格式

@annotation(logger)是类中的注解

Spring通知有哪些类型

复制代码
@Before
复制代码
@After
复制代码
@AfterThrowing
复制代码
@AfterReturning
复制代码
@Around

解释基于XML SChema(xml)方式的切面实现

解释基于注解的切面实现

整篇文章是基于注解的切面实现

相关推荐
重生之后端学习8 小时前
19. 删除链表的倒数第 N 个结点
java·数据结构·算法·leetcode·职场和发展
qq_12498707538 小时前
基于小程序中医食谱推荐系统的设计(源码+论文+部署+安装)
java·spring boot·后端·微信小程序·小程序·毕业设计·计算机毕业设计
Coder_Boy_8 小时前
基于SpringAI的在线考试系统-阅卷评分模块时序图
java·人工智能·spring boot
linweidong8 小时前
C++大型系统中如何组织头文件和依赖树?
java·c++·架构
橘子师兄8 小时前
C++AI大模型接入SDK—环境搭建
开发语言·c++·人工智能
lkbhua莱克瓦248 小时前
JavaScript核心语法
开发语言·前端·javascript·笔记·html·ecmascript·javaweb
bubiyoushang8888 小时前
基于MATLAB的近红外光谱与PLS方法测定药片有效成分含量的实现
开发语言·matlab
鹿角片ljp8 小时前
力扣14.最长公共前缀-纵向扫描法
java·算法·leetcode
weixin_433179338 小时前
Hangman 猜字游戏使用列表List实现
开发语言·python
pengweizhong8 小时前
Dynamic‑SQL2 查询篇:MyBatis 增强利器,让 SQL 像写 Java 一样丝滑
java·sql·教程