切面 AOP

https://zhuanlan.zhihu.com/p/373676597

我们为什么要使用AOP(面向切面编程)?当我们在现实中完成实际的项目时,我们总是需要在一个“动作”进行前,进行中,或进行后进行一些操作,比如当我们在运行程序时,我们想要进行日志保存,或者在每一个方法调用后输出一句话,这就表示我们每一次进行一个“动作”都需要进行同样的操作,这就导致程序员会进行大量的、无用的重复性动作,面对这种情况,AOP应运而生。

AOP就是可以在所有方法(连接点)中添加一段代码, 但是一般只在部分方法(切入点)中添加.

好处是降低耦合性, 减少了程序员进行大量的, 无用性的操作.

  1. 增强:向各个程序内部注入一些逻辑代码从而增强原有程序的功能。

  2. 连接点(JoinPoint):类中可以被增强的方法,这个方法就就被称为连接点,切记连接点并不是一定会被增强。

  3. 切入点(Pointcut):类中实际被增强的方法。

  4. 通知(Advice):指一个切面在特定的连接点要做的事情,简单来说就是“增强”。可以分为方法执行前通知,方法执行后通知,环绕通知等等。

  5. 切面(Aspect):把通知添加到切入点的过程就叫切面。

  6. 目标(Target):代理的目标对象,即要增强的方法所在的类。

  7. 代理(Proxy):向目标对象应用通知之后创建的代理对象。

posted @ 2023-01-30 15:54  烟熏咸鱼干  阅读(21)  评论(0编辑  收藏  举报