Java代理是一种常见的设计模式,它可以帮助我们在不改变原有代码逻辑的情况下,对现有对象进行增强或扩展。
简单来说就是:使用代理对象来代替对真实对象的访问,可以在不修改原目标对象的前提下,提供额外的功能操作,扩展目标对象的功能
主要有两种类型:
- 静态代理:实际应用场景非常非常少,日常开发几乎看不到使用静态代理的场景。
- 动态代理:动态代理在我们日常开发中使用的相对较少,但是在框架中属于常用技术。
-
- JDK 动态代理
-
- CGLIB 动态代理
推荐阅读:Java 代理模式详解 (比喻讲的很有意思)