(十五)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.连接点

相关推荐
LabVIEW开发5 分钟前
LabVIEW 连接板:28 个端子怎么排,优先级怎么定
java·算法·labview
天天被压力38 分钟前
【A股分钟级高频数据完全手册 #07】北交所历史分钟K线接口:京市Pro版分时批量
java·人工智能·python
天天被压力44 分钟前
【A股分钟级高频数据完全手册 #08】股票日、分时数据接口对比:普通分时与Pro版差异实测
java·人工智能·python
特立独行的猫A1 小时前
AI 时代,我为什么推荐用 cj-tauri 开发桌面应用
java·后端·python
金銀銅鐵1 小时前
从一个类名到一张类图:用反射自动生成 PlantUML
java·后端·uml
小郎君6581 小时前
注解式脱敏:用 Jackson 的 ContextualSerializer 做字段级策略(一)
spring boot·spring cloud
nice_lcj5202 小时前
Java 并发容器入门:ConcurrentHashMap、CopyOnWriteArrayList、阻塞队列
java·面试·并发编程·阻塞队列·concurrenthashmap·copyonwritearraylist
微小的鱼2 小时前
Linux的渲染与显示系统链路
android·java·linux
若亦_3 小时前
Java中关于this的三种用法
java·开发语言·intellij-idea
山甫aa3 小时前
锁一篇搞定:乐观锁、悲观锁、CAS、数据库锁与分布式锁【从零开始的 Web 后端学习】
java·数据库·分布式·后端·学习·web