网站首页 > java教程 正文
代理模式,为其他对象提供一种代理以控制这个对象的访问。用代理来隐藏具体实现类的实现细节,通常代理对象会在目标对象上进行扩展,会在具体的目标方法前后添加部分逻辑
静态代理
静态代理在使用时,需要定义接口,被代理对象与代理对象要实现相同的接口,然后调用的时候通过调用代理对象的方法来调用目标的对象方
动态代理
动态代理在使用时,代理对象不需要实现接口,但目标对象一定要实现接口。通过使用JDK 的方法在内存中创建代理对
静态代理和动态代理都要求目标对象要实现一个接口,但如果目标对象只是一个普通的对象,并没有实现任何接口,这时就可以通过生成目标对象的子类来实现代理,而这种方法就叫做CGLIB 代理。
在Spring的AOP编程中,如果目标对象有实现接口,则使用JDK代理;如果目标对象没有实现接口,则用CGLIB 代理。
代理模式可以实现无侵入式的代码扩展,也就是方法的增强;让你可以在不用修改源码的情况下,增强一些方法;在方法的前后你可以做你任何想做的事情。
猜你喜欢
- 2024-10-24 Java动态代理与静态代理以及它能为我们做什么
- 2024-10-24 Java 设计模式 之 代理模式 (1)(java设计模式之代理模式)
- 2024-10-24 Java设计模式:代理模式 vs. 装饰模式
- 2024-10-24 设计模式篇——代理模式详解(面试再问你代理模式,这么回答他)
- 2024-10-24 动态代理大揭秘,带你彻底弄清楚动态代理
- 2024-10-24 面试:Java的代理模式动态代理和静态代理区别,aop用的什么代理
- 2024-10-24 Java设计模式之代理模式(java代理类是什么)
- 2024-10-24 JAVA设计模式——代理模式(java编写代理服务)
- 2024-10-24 23种java设计模式之:门面模式、享元模式、代理模式
- 2024-10-24 Java 17中的动态代理:实现灵活的代理模式
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- java反编译工具 (77)
- java反射 (57)
- java接口 (61)
- java随机数 (63)
- java7下载 (59)
- java数据结构 (61)
- java 三目运算符 (65)
- java对象转map (63)
- Java继承 (69)
- java字符串替换 (60)
- 快速排序java (59)
- java并发编程 (58)
- java api文档 (60)
- centos安装java (57)
- java调用webservice接口 (61)
- java深拷贝 (61)
- 工厂模式java (59)
- java代理模式 (59)
- java.lang (57)
- java连接mysql数据库 (67)
- java重载 (68)
- java 循环语句 (66)
- java反序列化 (58)
- java时间函数 (60)
- java是值传递还是引用传递 (62)
本文暂时没有评论,来添加一个吧(●'◡'●)