
动态代理
马彼得
平常心
展开
-
吃透动态代理,解密spring AOP源码(三)
上节讲到动态代理生成的类为$Proxy0,但是在我们项目里面却不存在,实际我们是用了这个实现类调用了方法,想要知道这个问题,首先要理解类的完整生命周期. 类的完整生命周期 Java源文件:即我们在IDE里面写的.java文件 Java字节码:即编译器编译之后的.class文件(javac命令).备注:Java代码为何能够跨平台,和Java字节码技术是分不开的,这个字节码在windows,...转载 2020-05-02 13:30:55 · 215 阅读 · 0 评论 -
吃透动态代理,解密spring AOP源码(二)
紧接着上节,为了解决静态代理的问题,出现了动态代理, 假设动态代理是一个代购公司,私有变量Object factory为动态生成的具体的真实对象,可代购对应的产品 。代码: /** * 动态代理 */ public class DynamicProxyCompanyC implements InvocationHandler { // 被代理的对象,即真实对象 priva...转载 2020-05-02 13:23:16 · 187 阅读 · 0 评论 -
吃透动态代理,解密spring AOP源码(一)
代理模式: 定义:给目标对象提供一个代理对象,并由代理对象控制对目标对象的引用。 目的:1.通过引入代理对象来间接访问目标对象,防止直接访问目标对象给系统带来的不必要复杂性;2.通过代理对象对原有的业务增强。 如图代理模式类图: 简单看了下图解就开始上代码吧 1.先定义一个抽象对象即公共接口类 /** * 负责生产男性用品 */ public interface ManToolF...转载 2020-05-02 12:35:31 · 224 阅读 · 0 评论