(十五)JavaWeb后端开发——异常处理/AOP面向切面编程

目录

1.异常处理

2.AOP概述

3.AOP核心概念

4.AOP-通知类型

5.切入点表达式

6.连接点


1.异常处理

Web后端开发的三层架构是Controller调用Service,Service调用Mapper,如果碰到了异常就会逐级向上抛出,所以Java就在Controller层设计了全局异常处理器

2.AOP概述

AOP:Aspect Oriented Proqramming(面向切面编程、面向方面编程),其实就是面向特定方法编程,是一种编程思想,作用:在不惊动原始设计的基础(不改源代码)上为其进行功能增强(与代理类似)

Spring思想:无入侵式/无侵入式编程

AOP的典型应用场景还有:记录操作日志(谁在什么时候操作了代码)、权限控制、事务管理

AOP的优势:代码无侵入、减少重复代码、提高开发效率、维护方便

3.AOP核心概念

这些概念不需要死记硬背,眼熟即可

连接点是所有方法,切入点是需要执行通知的那些方法,有了切入点和通知并将它俩绑定就得到了切面(面向切面编程)

4.AOP-通知类型

  1. @Around:环绕通知,此注解标注的通知方法在目标方法前、后都被执行
  2. @Before:前置通知,此注解标注的通知方法在目标方法前被执行
  3. @After:后置通知,此注解标注的通知方法在目标方法后被执行,无论是否有异常都会执行
  4. @AfterReturning:返回后通知,此注解标注的通知方法在目标方法后被执行,有异常不会执行
  5. @AfterThrowing:异常后通知,此注解标注的通知方法发生异常后执行

5.切入点表达式

6.连接点

相关推荐
yaaakaaang1 分钟前
十八、中介者模式
java·中介者模式
一 乐3 分钟前
饮食营养信息|基于springboot + vue饮食营养管理信息平台系统(源码+数据库+文档)
java·数据库·vue.js·spring boot·论文·毕设·饮食营养管理信息系统
zopple22 分钟前
Laravel与ThinkPHP框架深度对比
java·python·php·laravel
疯狂打码的少年41 分钟前
【Day13 Java转Python】装饰器、生成器与lambda——Python的函数式“三件套”
java·开发语言·python
大气层煮月亮43 分钟前
ERP-Agent 记忆系统优化方案
java·大数据·elasticsearch
java1234_小锋1 小时前
Java高频面试题:Spring框架中的单例bean是线程安全的吗?
java·spring·面试
Tingjct1 小时前
C++ 多态
java·开发语言·c++
Devin~Y1 小时前
大厂Java面试实战:Spring Boot/WebFlux、Redis+Kafka、K8s可观测性与Spring AI RAG/Agent三轮连环问
java·spring boot·redis·kafka·kubernetes·resilience4j·spring webflux
老约家的可汗1 小时前
搜索二叉树的概念及使用
java·开发语言
被摘下的星星2 小时前
Maven
java·maven