AOP的个人理解

        AOPAspect-Oriented Pragram),面向切面编程,是指在运行时将代码切入到指定方法或指定位置的一种编程思路。

  在面向对象编程中,会将具有共同特征和行为的事物封装成一个类来表达。现在需要在不同类的方法中加入一个相同功能时,例如方法的执行时间、日志记录、事务控制等,AOP编程思路就能起作用了。如果在每个类中都加入这个功能的代码,不仅造成代码重复性,而且违背了单一职责原则。所以aop编程弥补了oop在横向上编程的问题。

用于切入方法中的代码,通常会提取到统一的类中,这个类称之切面

代码切入到指定方法的动作叫做通知,根据切入的不同方式可以划分出前置,后置,环绕等通知。

   通知切入到哪些方法中,由切入点决定,通过execution或者within指定切入规则。

   通知切入的方法等信息,叫做连接点。在程序代码中,可以通过连接点获取切入方法名、对象等信息。

  通知切入的方法所属对象叫做目标对象;运行时,根据通知和目标对象的方法合并生成一个新的对象,叫做代理对象

 将代码切入到目标对象,然后生成相应的代理对象的过程叫做织入

 Java中,AOP实现是通过JDK或者CGLIB动态代理技术生成代理对象完成的,

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值