AOP面向切面

spring框架

**

AOP面向切面

**

开门见山,此篇博客将主要来讲讲这个spring框架的AOP

      AOP(Aspect Oriented Programming)即面向切面编程的技术:AOP基于IOC基础,是对OOP的有益补充。

AOP面向切面

首先,我们需要知道以下几个概念:

    1.Joinpoint连接点:

指被拦截的点,在spring中指的是方法,在类中的方法可以被增强,这些方法称之为连接点。(增强:加功能)

    2.Pointcut切入点:

对Joinpoint进行拦截定义在类中有很多的方法是可以被增强的,实际增强的方法称之为切入点。

    3.ice(增强/通知)

所谓的增强是指拦截到Joinpoint之后所做的事情就是通知

通知存在5种:

前置通知方法之前执行
后置通知方法之后执行
异常通知方法出现异常执行
最终通知后置通知之后执行
环绕通知方法之前和方法之后

    4.Aspect切面:

是切入点和通知的结合    将增强应用到切入点的过程

首先根据前面的那些概念基本能猜到,这个AOP是用来给我们的方法加功能的。

也就是我们先写好一个方法,然后在测试期间,我们不想对这个原有方法进行修改,那么用切面即可。

其实,用AOP采取横向的抽取机制,取代了传统的纵向继承体系写重复性代码

说到这里,基本对为什么用它有所了解。

那么它的实现原理是什么呢???

    AOP是基于动态代理实现

1.第一种

有接口的情况下,动态代理:JDK动态代理

2.第二种

在没有接口的情况下,通过CGLib代理方式创建类的子类,通过子类调用父类的方法完成增强

上一篇 》
控制反转与依赖注入

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值