JDK动态代理(AOP)使用教程及实现原理分析

什么是动态代理?

动态代理是使用jdk的反射机制,创建对象的能力, 创建的是代理类的对象。 而不用你创建类文件。不用写java文件。

动态:在程序执行时,调用jdk提供的方法才能创建代理类的对象。jdk动态代理,必须有接口,目标类必须实现接口, 没有接口时,需要使用cglib动态代理。

动态代理可以在不改变原来目标方法功能的前提下, 可以在代理中增强自己的功能代码。

代理模式

代理模式是指,为其他对象提供一种代理以控制对这个对象的访问。在某些情况下, 一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户类和目标对象之

间起到中介的作用。 ——百度百科《代理模式》

 

换句话说:使用代理对象,是为了在不修改目标对象的基础上,增强主业务逻辑。 客户类真正的想要访问的对象是目标对象,但客户类真正可以访问的对象是代理对象。客户类对目标对象的访问是通过访问代理对象来实现的。当然,代理类与目标类要实现同一 个接口。

例如: 有 ABC 三个类, A 原来可以调用 C 类的方法, 现在因为某种原因 C 类不允许A 类调用其方法,但 B 类可以调用 C 类的方法。A 类通过 B 类调用 C 类的方法。这里 B C

的代理。 A 通过代理 B 访问 C.
原来的访问关系:
 
JDK动态代理(AOP)使用教程及实现原理分析
 
通过代理的访问关系:
 
JDK动态代理(AOP)使用教程及实现原理分析
 
Window 系统的快捷方式也是一种代理模式。快捷方式代理的是真实的程序,双击快捷方式是启动它代表的程序。
 

课程目录

001.JDK动态代理:日常生活中代理例子

002.JDK动态代理:代理的特点

003.JDK动态代理:静态代理实现步骤

004.JDK动态代理:静态代理接口和目标类创建

005.JDK动态代理:静态代理中创建代理类

006.JDK动态代理:静态优缺点

007.JDK动态代理:动态代理概念

008.JDK动态代理:复习动态代理

009.JDK动态代理:动态代理分类

010.JDK动态代理:回顾Method

011.JDK动态代理:jdk动态代理反射包类列表

012.JDK动态代理:反射包Proxy类

013.JDK动态代理:jdk动态代理实现

014.JDK动态代理:jdk动态代理执行流程

015.JDK动态代理:动态代理项目中的应用

016.JDK动态代理:增强功能例子

017.JDK动态代理:总结

****在此????:

Java-JDK动态代理(AOP)使用及实现原理分析