浅谈 Spring AOP 通知、连接点、切点、切面

  • 前言
  • 通知
  • 连接点
  • 切点
  • 切面
  • 总结


前言

  1、横切关注点:影响应用多处的功能(安全、事务、日志)
  2、切面:横切关注点被模块化为特殊的类,这些类称为切面

通知

  定义:切面的工作称为通知
  工作的内容:通知定义的切面是什么以及如何使用,描述切面要完成的工作以及通知何时执行这个工作
  通知类型:

Before 在方法调用之前调用通知
After 在方法完成之后调用通知,无论方法执行成功与否
After-returning 在方法执行成功之后调用通知
After-throwing 在方法抛出异常之后进行通知
Around 通知包裹了被通知的方法,在被通知的方法调用之前和调用之后执行自定义的行为

连接点

  定义:连接点是一个应用执行过程中能够插入一个切面的点(时间点)
  可以是调用方法时,抛出异常时,甚至是修改字段的时候
  切面代码可以利用这些点插入到应用的正规流程中
  程序执行过程中能够应用通知的所有点

切点

  定义:通知相当于是定义了“什么”和“何时”,切点相当于定义了“何处”,切点会匹配所有通知所要织入的一个或者多个连接点。通常使用明确的类和方法来指定这些切点
  作用:定义通知被应用的位置

切面

  定义:切面是通知和切点和集合,通知和切点共同定义了切面的所有功能,即它是什么以及在何处何时完成其功能

总结

  面向切面编程,每个关注点都集中在一处,而不是分散到多处代码中,服务模块更加简洁,其只需关注核心代码。

  待续…

你可能感兴趣的:(浅谈 Spring AOP 通知、连接点、切点、切面)