最佳实践:使用Spring AOP对异常进行统一处理(6)

时间:2025-07-10

有必要使用一个统一的异常处理机制 来进行某些异常处理的统一决策。比如对异常进行统一的日志记录,对散落在各处的某类异常进行统一处理等。

3. 参考资料

读者需要了解面向切面编程的原理,及熟悉Spring AOP。这里只简单介绍一下AOP的一些关键概念,更详细的内容请大家查阅相关资料。

3.1. AOP 的术语

切面(aspect)

切面是你要实现的交叉功能。就是通知和切入点的结合。通知和切入点共同定义了关于切面的全部内容:它的功能、在何时和何地完成功能。

通知(Advice)

通知定义了切面是什么以及何时使用。除了描述切面要完成的工作,通知还解决了何时执行这个工作的问题。应该在一个方法被调用之前?之后?或者抛出异常时。

切入点(pointcut)

如果说通知定义了切面的"什么"和"何时",那么切入点就定义了"何地"。切入点是连接点的集合。

连接点(joinpoint)

连接点是应用程序执行过程中能够插入切面的地点。这些点可以是方法被调用时、异常抛出时、甚至字段被编辑时。

引入(Intrduction)

引入允许你为已经存在的类添加新方法和属性。比如一个Auditable通知类,记录对象在最后一次被修改时的状态。只需要一个setLastModified(Date)方法,和一个实例变量来保存这个状态。这个新方法和实例变量就可以被引入到现有的类,从而在不修改它们的情况下,让他们具有新的行为和状态。

目标对象(Target)

目标对象是被通知的对象(被拦截的对象)。

代理(Proxy)

代理是将通知应用到目标对后创建的对象。

织入(weaving)

织入是将切面应用到目标对象从而创建一个新的代理对象的过程。 在目标对象的生命周期里有多个机会发生织入过程。比如编译时、类加载时、运行时。

通知的类型:

1.前置通知(Before advice): 在某连接点(join point)之前执行的通知,但这个通知不能阻止连接点前的执行(除非它抛出一个异常)。

2.返回后通知(After returning advice): 在某连接点(join point)正常完成后执行的通知:例如,一个方法没有抛出任何异常,正常返回。

3.抛出异常后通知(After throwing advice): 在方法抛出异常退出时执行的通知。

4.后通知(After (finally) advice): 当某连接点退出的时候执行的通知(不论是正常返回还是异常退出)。

最佳实践:使用Spring AOP对异常进行统一处理(6).doc 将本文的Word文档下载到电脑

精彩图片

热门精选

大家正在看

× 游客快捷下载通道(下载后可以自由复制和排版)

限时特价:7 元/份 原价:20元

支付方式:

开通VIP包月会员 特价:29元/月

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信:fanwen365 QQ:370150219