多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
**切面(Aspect):** 切面可以理解为一个对象,切面由切入点和通知(增强)组成。 <br/> **连接点(JoinPoint):** 连接点就是被拦截到的程序执行点,因为 Spring 只支持方法类型的连接点,所以在 Spring 中连接点就是被拦截到的方法。 <br/> **切入点(pointcut):** 切入点的作用就是提供一组规则来匹配连接点,给满足规则的连接点添加通知。 ```xml <!-- 下面将会在 xml 文件中定义如下的 aop:pointcut 标签,expression 定义的规则就是切入点 --> <aop:pointcut id="add" expression="execution(public void add(int, int))"/> ``` <br/> **增强(Advice):** 增强是指拦截到连接点之后要执行的代码,就是切面中封装的方法。 <br/> 增强共有5种类型,分别是:前置增强(before)、后置增强(afterReturnning)、最终增强(after)、环绕增强(aroud)、异常增强(afterThrowing)。 <br/> **目标对象(Target object):** 就是符合切入点规则所匹配的方法所在的对象。 <br/> **织入(Weaving):** 将切面和业务逻辑对象连接起来,并创建通知代理的过程。织入可以在编译时,类加载时和运行时完成。在编译时进行织入就是静态代理,而在运行时织入就是动态代理。