摘要:
1 前言 本节我们讲一下动态代理的实现过程,并且从源码分析下产生过程。看之前先简单看几个基础知识: 函数接口BiFunction<T, U, R> : R apply(T t, U u); 就是参数是T、U返回一个结果R 比如: (s1, s2) -> s1.toString() + s2.toSt 阅读全文
摘要:
1 什么是代理 代理是指给某一个对象提供一个代理对象,代理对象持有原对象的引用。一句话通过代理对象增强原对象的功能,比如在原对象调用一个方法的前后进行日志、事务操作等。Spring AOP就使用了代理模式。 2 代理的分类 代理又分为静态代理和动态代理,所谓静动站在我们自己来说就是静态需要我们自己去 阅读全文
摘要:
1 前言 我们了解过AOP配置解析以及AOP的切入时机,那么这篇我们看看,AOP是如何给某个Bean筛选合适的通知器。 2 源码分析 2.1 方法通读 我们从AOP切入时机中,为当前bean筛选通知器开始继续看起: protected Object[] getAdvicesAndAdvisorsFo 阅读全文
摘要:
1 前言 我们分析了AOP不管是XML配置还是注解方式的解析过程,这篇我们简单来说下AOP在Spring中对bean对象生命周期的一个入场时机,其实我们在讲解IOC的时候,已经点了一下这篇我们再来简单说一下。 2 源码分析 切入时机准确的说有两个地方: createBean里的resolveBefo 阅读全文
摘要:
1 前言 上一篇我们讲解了XML方式解析AOP的配置,这篇我们来解析下注解方式的解析过程。 2 代码准备 @Component @Aspect public class MyAspect { @Pointcut("execution( * com.virtuous.demo.spring.cycle 阅读全文