企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
**切面(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):** 将切面和业务逻辑对象连接起来,并创建通知代理的过程。织入可以在编译时,类加载时和运行时完成。在编译时进行织入就是静态代理,而在运行时织入就是动态代理。