AOP(面向切面编程)

AOP(面向切面编程)
    在企业级应用中,很多模块可能需要实现相同的功能,比如多个模块都需要日志功能、权限校验功能、事务管理功能等,这些相同的功能就被称为“切面”(又称为方面)。AOP(Aspect Oriented Program)编程能够将通用的功能与业务模块分离,是OOP编程的延续和补充。Spring是众多支持AOP的项目中的一个。除了IOC外,AOP是Spring框架中的另一个核心组件。
1.AOP中的术语
①切面(Aspect)
切面是一个关注点的模块化,如事务管理,就是一个在JavaEE企业中常见的切面,在企业应用编程中,首先需要通过分析,抽取出通用的功能,即“切面”
②连接点(Joinpoint)
连接点即程序执行过程中的特定的点。Spring框架只支持方法作为特定点,如方法调用前,方法调用后,或者发生异常时。
③通知(Advice)
通知是切面的具体实现。通知将在切面的某个特定的连接点上执行动作,Spring中执行的动作往往就是调用某类的具体方法,比如:保存订单的功能模块里进行日志管理(一个切面),具体是在保存订单的方法执行前(连接点)执行写日志(通知)的功能。

其中,日志管理是很多功能模块中通用的功能,为一个切面;而具体是在保存订单前执行日志保存,那么保存订单前这个点就是连接点;实现保存日志功能的类就是通知。
④切入点(Pointcut)
切入点是连接点的集合,通知是将在满足一个切入点表达式的所有连接点上运行。
⑤引入(Introduction)
引入的意思是在一个类中加入新的属性或者方法。
⑥目标对象(Target Object)
被一个或者多个切面所通知的的对象,其某些连接点上将调用通知。
⑦AOP代理(AOP Proxy)
AOP代理是AOP框架所生成的对象,该对象是目标对象的代理对象。代理对象能够在目标对象的基础上,在相应的连接点调用通知。
⑧织入(Weaving)
把切面连接到其他应用程序之上,创建一个被通知的对象的过程,被称为织入、Spring框架是在运行时完成织入的。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值