【Java】AOP使用示例 之 统一异常处理

 

本文将使用 Spring AOP 提供一个关于统一异常处理的 AOP 技术应用示例。

(可直接跳到 2.2 查看代码示例:Maven依赖 + 切面类 + Bean配置)

 

1. AOP简述

AOP 全称为“Aspect Oriented Programming”,中文译名为“面向切面编程”。乍一看非常令人费解。但是你真正理解这项技术(或者说这个思想)要做什么后,你又会觉得“切面”(Aspect)这个词还真有些贴切。“切面”指的是这项技术(AOP)的控制代码并不是直接与业务代码结合在一起;而是分开编写,再由AOP技术根据控制代码中(对目标业务代码)的描述将两者结合在一起。如果我们把“控制代码与业务代码直接编写在一起”称为“正面操作”,那么AOP技术的方式可以称为“侧面操作”或“切面操作”,也就是“面向切面编程”。

 

AOP 可以被看作是 OOP 的一个补充。面向对象编程的模式对于跨越不同对象或类的逻辑处理能力有限。AOP的动态代理机制可以大幅提高代码的抽象程度和复用度。

 

 

AOP结合控制代码与业务代码的模式有“编译时结合”与“运行时结合”。

本示例中所使用的Spring AOP技术属于运行时结合模式。它基于动态代理(用到了cglib 和 JDK Proxy),不需要特殊的编译器来“织入”“切面”,但只支持方法拦截。

如果需要更强大和细粒度的控制(如,对构造器或属性进行拦截),则需要采用更强大的AspectJ技术。

 

  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值