苏州企业网站建设电话,合肥市蜀山区做个网站多少钱,企业邮箱注册需要多少钱,wordpress 相关文章插件前言
本篇介绍什么是spring AOP, AOP的优点#xff0c;使用场景#xff0c;spring AOP的组成#xff0c;简单实现AOP 并 了解它的通知#xff1b;如有错误#xff0c;请在评论区指正#xff0c;让我们一起交流#xff0c;共同进步#xff01; 文章目录 前言1. 什么是s…
前言
本篇介绍什么是spring AOP, AOP的优点使用场景spring AOP的组成简单实现AOP 并 了解它的通知如有错误请在评论区指正让我们一起交流共同进步 文章目录 前言1. 什么是spring AOP?AOP优点spring AOP 使用场景认识AOP的组成 2. 实现spring AOP - 认识各种通知总结 本文开始 1. 什么是spring AOP?
AOP: 面向切面编程也就是面向某一类编程对某一类事情进行统一处理
spring AOP: 是实现了AOP这种思想的一个框架
AOP优点
减少重复代码对一类同样的工作统一处理提高开发效率同上
spring AOP 使用场景
使用统一用户登录判断 统一异常处理 统一日志等等
认识AOP的组成
切面- AspectAOP定义的是一个事件例如登录操作的整个过程- 某个具体功能实现的过程 - 一共类切点 - PointcutAOP定义的具体规则例如验证登录的 方法- 实现功能的方法 - 类中的方法定义连接点 - Join Point可能触发切点的所有点- 可能调用功能的某个方法的点通知 - AdviceAOP具体执行的方法例如方法的具体实现- 代码具体实现 - 类中方法的具体实现 ① 前置通知 Before ② 后置通知 After ③ 环绕通知 Around ④ 异常通知 AfterThrowing ⑤ 返回通知 AfterReturning
通知执行的顺序环绕通知之前 前置通知 方法 方法返回后通知 后置通知 环绕通知之后 2. 实现spring AOP - 认识各种通知
2.1 在springboot项目中原有依赖 添加spring AOP 依赖
2.2 实现过程 定义切面 定义切点 定义通知
定义切面 - 定义类
Aspect // 定义切面
Component //随框架启动注入到容器中
public class UserAspect {//定义切点 通知...
}定义切点 - 定义方法
//定义切点, 对UserController进行拦截Pointcut(execution(* com.example.demo.controller.UserController.*(..)))public void pointcut() {}//空方法方法名用于标识切点表达式识别该包下类下的任意方法参数不限 定义通知切点的方法名写在通知参数中用于识别是哪个切点的通知想了解具体的 百度 - AspectJ 语法 //前置通知Before(pointcut())public void doBefore() {System.out.println(执行前置通知);}
//后置通知After(pointcut())public void doAfter() {System.out.println(执行后置通知);}
//后置返回后的通知AfterReturning(pointcut())public void doAfterReturn() {System.out.println(执行返回后通知);}//抛出异常后通知AfterThrowing(pointcut())public void doAfterThrow() {System.out.println(执行抛异常后的通知);}
//环绕通知//使用环绕通知例如统计时间就可以使用环绕通知将通知前 与 通知后 放在一起Around(pointcut()) //ProceedingJoinPoint获取连接点执行 》返回框架执行public Object doAround(ProceedingJoinPoint joinPoint) throws Throwable {System.out.println(执行环绕通知之前);Object result joinPoint.proceed();System.out.println(执行环绕通知之后);return result;}总结
✨✨✨各位读友本篇分享到内容如果对你有帮助给个赞鼓励一下吧 感谢每一位一起走到这的伙伴我们可以一起交流进步一起加油吧