一、引言 在 Spring 中,最重要的应该当属 IOC 和 AOP 了,IOC 的源码流程还比较简单,但 AOP 的流程就较为抽象了。 其中,AOP 中代理模式的重要性不言而喻,但对于没了解过代理模式的人来说,痛苦至极 于是,我就去看了动态代理的实现,发现网上大多数文章讲的都是不清不楚,甚至讲了和没讲似的,让我极其难受 本着咱们方向主打的就是源码,直接从从源码角度讲述一下 代理模式 兄弟们系好安全带,准备发车! 二、定义 代理模式的定义:由于某些原因需要给某对象提供一个代理以控制对该对象的访问。这时,访问对象不适合或者不能直接引用目标对象,代理对象作为访问对象和目标对象之间的中介。 举个生活中常见的例子:客户想买房,房东有很多房,提供卖房服务,但房东不会带客户看房,于是客户通过中介买房。 这时候对于房东来说,不直接和客户沟通,而是交于中介进行代理 对于中介来说,她也会在原有的基础上收取一定的中介费 三、静态代理 我们创建 Landlord 接口如下: public interface Landlord { void apartmentToRent(); } 创建其实现类...