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

相关推荐
五岳2 分钟前
DTS按业务场景批量迁移阿里云MySQL表实战(下):迁移管理平台设计与实现
java·应用·dts
韩立学长17 分钟前
【开题答辩实录分享】以《智能大学宿舍管理系统的设计与实现》为例进行选题答辩实录分享
数据库·spring boot·后端
zhougl99618 分钟前
Java 所有关键字及规范分类
java·开发语言
Python 老手24 分钟前
Python while 循环 极简核心讲解
java·python·算法
java1234_小锋40 分钟前
Java高频面试题:MyISAM索引与InnoDB索引的区别?
java·开发语言
Mr_Xuhhh1 小时前
MySQL函数详解:日期、字符串、数学及其他常用函数
java·数据库·sql
测试开发Kevin2 小时前
小tip:换行符CRLF 和 LF 的区别以及二者在实际项目中的影响
java·开发语言·python
笨手笨脚の2 小时前
Redis: Thread limit exceeded replacing blocked worker
java·redis·forkjoin·thread limit
Lenyiin2 小时前
Linux 基础IO
java·linux·服务器
松☆2 小时前
Dart 核心语法精讲:从空安全到流程控制(3)
android·java·开发语言