你还记得面向切面编程AOP的那些小知识点吗?

目录

面向切面编程AOP

手写AOP框架

Spring支持的AOP的实现

AOP常用的术语


面向切面编程AOP


 AOP(Aspect Orient Programming),面向切面编程。


切面:公共的,通用的,重复的功能称为切面,面向切面编程就是将切面提取出来,单独开发,在需要调用的方法中通过动态代理的方式进行织入。

手写AOP框架


  业务:图书购买业务
  切面:事务

先进行新建项目 修改目录 pom.xml文件修改


  1)第一个版本:业务和切面紧耦合在一起,没有拆分。(proxy 1)


  2)第二个版本:使用子类代理的方式拆分业务和切面。


  3)第三个版本:使用静态代理拆分业务和切面.业务和业务接口已拆分.此时切面紧耦合在业务中。

(第四个版本测试)


  4)第四个版本:使用静态代理拆分业务和业务接口,切面和切面接口。

 


  5)第五个版本:使用动态代理完成第四个版本的优化。

Spring支持的AOP的实现


  Spring支持AOP的编程,常用的有以下几种:


  1)Before通知:

在目标方法被调用前调用,涉及接口org.springframework.aop.MethodBeforeAdvice; 


  2)After通知:

在目标方法被调用后调用,涉及接口为org.springframework.aop.AfterReturningAdvice; 


  3)Throws通知:

目标方法抛出异常时调用,涉及接口org.springframework.aop.ThrowsAdvice; 


  4)Around通知:

拦截对目标对象方法调用,涉及接口为org.aopalliance.intercept.MethodInterceptor。

AOP常用的术语


  1)切面:就是那些重复的,公共的,通用的功能称为切面,例如:日志,事务,权限。
  2)连接点:就是目标方法.因为在目标方法中要实现目标方法的功能和切面功能。
  3)切入点(Pointcut):指定切入的位置,多个连接点构成切入点.切入点可以是一个目标方法,可以是一个类中的所有方法,可以是某个包下的所有类中的方法。
  4)目标对象:操作谁,谁就是目标对象。
  5)通知(Advice):来指定切入的时机.是在目标方法执行前还是执行后还是出错时,还是环绕目标方法切入切面功能。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值