@Component("aopTestBean")
class AopTestBean implements AopTestBeanInterface{public void aop1(){System.out.println("aop1");}public void aop2(){System.out.println("aop2");}
}

代理对象源码:

package com.sun.proxy;import com.dk.spring.*;
import org.springframework.core.*;
import java.lang.reflect.*;
import org.springframework.aop.framework.*;
import org.springframework.aop.*;
import org.aopalliance.aop.*;public final class $Proxy9 extends Proxy implements AopTestBeanInterface, SpringProxy, Advised, DecoratingProxy
{private static Method m1;private static Method m10;private static Method m14;private static Method m15;private static Method m20;private static Method m24;private static Method m5;private static Method m9;private static Method m17;private static Method m18;private static Method m0;private static Method m25;private static Method m23;private static Method m13;private static Method m16;private static Method m3;private static Method m4;private static Method m2;private static Method m27;private static Method m11;private static Method m28;private static Method m21;private static Method m6;private static Method m7;private static Method m22;private static Method m12;private static Method m26;private static Method m8;private static Method m19;public $Proxy9(final InvocationHandler invocationHandler) {super(invocationHandler);}public final boolean equals(final Object o) {try {return (boolean)super.h.invoke(this, $Proxy9.m1, new Object[] { o });}catch (Error | RuntimeException error) {throw;}catch (Throwable t) {throw new UndeclaredThrowableException(t);}}public final void addAdvisor(final Advisor advisor) throws AopConfigException {try {super.h.invoke(this, $Proxy9.m10, new Object[] { advisor });}catch (Error | RuntimeException error) {throw;}catch (Throwable t) {throw new UndeclaredThrowableException(t);}}public final boolean isExposeProxy() {try {return (boolean)super.h.invoke(this, $Proxy9.m14, null);}catch (Error | RuntimeException error) {throw;}catch (Throwable t) {throw new UndeclaredThrowableException(t);}}public final boolean isProxyTargetClass() {try {return (boolean)super.h.invoke(this, $Proxy9.m15, null);}catch (Error | RuntimeException error) {throw;}catch (Throwable t) {throw new UndeclaredThrowableException(t);}}public final void removeAdvisor(final int n) throws AopConfigException {try {super.h.invoke(this, $Proxy9.m20, new Object[] { n });}catch (Error | RuntimeException error) {throw;}catch (Throwable t) {throw new UndeclaredThrowableException(t);}}public final Class[] getProxiedInterfaces() {try {return (Class[])super.h.invoke(this, $Proxy9.m24, null);}catch (Error | RuntimeException error) {throw;}catch (Throwable t) {throw new UndeclaredThrowableException(t);}}public final int indexOf(final Advisor advisor) {try {return (int)super.h.invoke(this, $Proxy9.m5, new Object[] { advisor });}catch (Error | RuntimeException error) {throw;}catch (Throwable t) {throw new UndeclaredThrowableException(t);}}public final TargetSource getTargetSource() {try {return (TargetSource)super.h.invoke(this, $Proxy9.m9, null);}catch (Error | RuntimeException error) {throw;}catch (Throwable t) {throw new UndeclaredThrowableException(t);}}public final void addAdvice(final int n, final Advice advice) throws AopConfigException {try {super.h.invoke(this, $Proxy9.m17, new Object[] { n, advice });}catch (Error | RuntimeException error) {throw;}catch (Throwable t) {throw new UndeclaredThrowableException(t);}}public final void addAdvice(final Advice advice) throws AopConfigException {try {super.h.invoke(this, $Proxy9.m18, new Object[] { advice });}catch (Error | RuntimeException error) {throw;}catch (Throwable t) {throw new UndeclaredThrowableException(t);}}public final int hashCode() {try {return (int)super.h.invoke(this, $Proxy9.m0, null);}catch (Error | RuntimeException error) {throw;}catch (Throwable t) {throw new UndeclaredThrowableException(t);}}public final boolean isInterfaceProxied(final Class clazz) {try {return (boolean)super.h.invoke(this, $Proxy9.m25, new Object[] { clazz });}catch (Error | RuntimeException error) {throw;}catch (Throwable t) {throw new UndeclaredThrowableException(t);}}public final boolean removeAdvice(final Advice advice) {try {return (boolean)super.h.invoke(this, $Proxy9.m23, new Object[] { advice });}catch (Error | RuntimeException error) {throw;}catch (Throwable t) {throw new UndeclaredThrowableException(t);}}public final void setExposeProxy(final boolean b) {try {super.h.invoke(this, $Proxy9.m13, new Object[] { b });}catch (Error | RuntimeException error) {throw;}catch (Throwable t) {throw new UndeclaredThrowableException(t);}}public final void setTargetSource(final TargetSource targetSource) {try {super.h.invoke(this, $Proxy9.m16, new Object[] { targetSource });}catch (Error | RuntimeException error) {throw;}catch (Throwable t) {throw new UndeclaredThrowableException(t);}}public final void aop2() {try {super.h.invoke(this, $Proxy9.m3, null);}catch (Error | RuntimeException error) {throw;}catch (Throwable t) {throw new UndeclaredThrowableException(t);}}public final void aop1() {try {super.h.invoke(this, $Proxy9.m4, null);}catch (Error | RuntimeException error) {throw;}catch (Throwable t) {throw new UndeclaredThrowableException(t);}}public final String toString() {try {return (String)super.h.invoke(this, $Proxy9.m2, null);}catch (Error | RuntimeException error) {throw;}catch (Throwable t) {throw new UndeclaredThrowableException(t);}}public final Class getTargetClass() {try {return (Class)super.h.invoke(this, $Proxy9.m27, null);}catch (Error | RuntimeException error) {throw;}catch (Throwable t) {throw new UndeclaredThrowableException(t);}}public final void addAdvisor(final int n, final Advisor advisor) throws AopConfigException {try {super.h.invoke(this, $Proxy9.m11, new Object[] { n, advisor });}catch (Error | RuntimeException error) {throw;}catch (Throwable t) {throw new UndeclaredThrowableException(t);}}public final Class getDecoratedClass() {try {return (Class)super.h.invoke(this, $Proxy9.m28, null);}catch (Error | RuntimeException error) {throw;}catch (Throwable t) {throw new UndeclaredThrowableException(t);}}public final boolean removeAdvisor(final Advisor advisor) {try {return (boolean)super.h.invoke(this, $Proxy9.m21, new Object[] { advisor });}catch (Error | RuntimeException error) {throw;}catch (Throwable t) {throw new UndeclaredThrowableException(t);}}public final int indexOf(final Advice advice) {try {return (int)super.h.invoke(this, $Proxy9.m6, new Object[] { advice });}catch (Error | RuntimeException error) {throw;}catch (Throwable t) {throw new UndeclaredThrowableException(t);}}public final boolean isFrozen() {try {return (boolean)super.h.invoke(this, $Proxy9.m7, null);}catch (Error | RuntimeException error) {throw;}catch (Throwable t) {throw new UndeclaredThrowableException(t);}}public final boolean replaceAdvisor(final Advisor advisor, final Advisor advisor2) throws AopConfigException {try {return (boolean)super.h.invoke(this, $Proxy9.m22, new Object[] { advisor, advisor2 });}catch (Error | RuntimeException error) {throw;}catch (Throwable t) {throw new UndeclaredThrowableException(t);}}public final void setPreFiltered(final boolean b) {try {super.h.invoke(this, $Proxy9.m12, new Object[] { b });}catch (Error | RuntimeException error) {throw;}catch (Throwable t) {throw new UndeclaredThrowableException(t);}}public final String toProxyConfigString() {try {return (String)super.h.invoke(this, $Proxy9.m26, null);}catch (Error | RuntimeException error) {throw;}catch (Throwable t) {throw new UndeclaredThrowableException(t);}}public final Advisor[] getAdvisors() {try {return (Advisor[])super.h.invoke(this, $Proxy9.m8, null);}catch (Error | RuntimeException error) {throw;}catch (Throwable t) {throw new UndeclaredThrowableException(t);}}public final boolean isPreFiltered() {try {return (boolean)super.h.invoke(this, $Proxy9.m19, null);}catch (Error | RuntimeException error) {throw;}catch (Throwable t) {throw new UndeclaredThrowableException(t);}}static {try {$Proxy9.m1 = Class.forName("java.lang.Object").getMethod("equals", Class.forName("java.lang.Object"));$Proxy9.m10 = Class.forName("org.springframework.aop.framework.Advised").getMethod("addAdvisor", Class.forName("org.springframework.aop.Advisor"));$Proxy9.m14 = Class.forName("org.springframework.aop.framework.Advised").getMethod("isExposeProxy", (Class<?>[])new Class[0]);$Proxy9.m15 = Class.forName("org.springframework.aop.framework.Advised").getMethod("isProxyTargetClass", (Class<?>[])new Class[0]);$Proxy9.m20 = Class.forName("org.springframework.aop.framework.Advised").getMethod("removeAdvisor", Integer.TYPE);$Proxy9.m24 = Class.forName("org.springframework.aop.framework.Advised").getMethod("getProxiedInterfaces", (Class<?>[])new Class[0]);$Proxy9.m5 = Class.forName("org.springframework.aop.framework.Advised").getMethod("indexOf", Class.forName("org.springframework.aop.Advisor"));$Proxy9.m9 = Class.forName("org.springframework.aop.framework.Advised").getMethod("getTargetSource", (Class<?>[])new Class[0]);$Proxy9.m17 = Class.forName("org.springframework.aop.framework.Advised").getMethod("addAdvice", Integer.TYPE, Class.forName("org.aopalliance.aop.Advice"));$Proxy9.m18 = Class.forName("org.springframework.aop.framework.Advised").getMethod("addAdvice", Class.forName("org.aopalliance.aop.Advice"));$Proxy9.m0 = Class.forName("java.lang.Object").getMethod("hashCode", (Class<?>[])new Class[0]);$Proxy9.m25 = Class.forName("org.springframework.aop.framework.Advised").getMethod("isInterfaceProxied", Class.forName("java.lang.Class"));$Proxy9.m23 = Class.forName("org.springframework.aop.framework.Advised").getMethod("removeAdvice", Class.forName("org.aopalliance.aop.Advice"));$Proxy9.m13 = Class.forName("org.springframework.aop.framework.Advised").getMethod("setExposeProxy", Boolean.TYPE);$Proxy9.m16 = Class.forName("org.springframework.aop.framework.Advised").getMethod("setTargetSource", Class.forName("org.springframework.aop.TargetSource"));$Proxy9.m3 = Class.forName("com.dk.spring.AopTestBeanInterface").getMethod("aop2", (Class<?>[])new Class[0]);$Proxy9.m4 = Class.forName("com.dk.spring.AopTestBeanInterface").getMethod("aop1", (Class<?>[])new Class[0]);$Proxy9.m2 = Class.forName("java.lang.Object").getMethod("toString", (Class<?>[])new Class[0]);$Proxy9.m27 = Class.forName("org.springframework.aop.framework.Advised").getMethod("getTargetClass", (Class<?>[])new Class[0]);$Proxy9.m11 = Class.forName("org.springframework.aop.framework.Advised").getMethod("addAdvisor", Integer.TYPE, Class.forName("org.springframework.aop.Advisor"));$Proxy9.m28 = Class.forName("org.springframework.core.DecoratingProxy").getMethod("getDecoratedClass", (Class<?>[])new Class[0]);$Proxy9.m21 = Class.forName("org.springframework.aop.framework.Advised").getMethod("removeAdvisor", Class.forName("org.springframework.aop.Advisor"));$Proxy9.m6 = Class.forName("org.springframework.aop.framework.Advised").getMethod("indexOf", Class.forName("org.aopalliance.aop.Advice"));$Proxy9.m7 = Class.forName("org.springframework.aop.framework.Advised").getMethod("isFrozen", (Class<?>[])new Class[0]);$Proxy9.m22 = Class.forName("org.springframework.aop.framework.Advised").getMethod("replaceAdvisor", Class.forName("org.springframework.aop.Advisor"), Class.forName("org.springframework.aop.Advisor"));$Proxy9.m12 = Class.forName("org.springframework.aop.framework.Advised").getMethod("setPreFiltered", Boolean.TYPE);$Proxy9.m26 = Class.forName("org.springframework.aop.framework.Advised").getMethod("toProxyConfigString", (Class<?>[])new Class[0]);$Proxy9.m8 = Class.forName("org.springframework.aop.framework.Advised").getMethod("getAdvisors", (Class<?>[])new Class[0]);$Proxy9.m19 = Class.forName("org.springframework.aop.framework.Advised").getMethod("isPreFiltered", (Class<?>[])new Class[0]);}catch (NoSuchMethodException ex) {throw new NoSuchMethodError(ex.getMessage());}catch (ClassNotFoundException ex2) {throw new NoClassDefFoundError(ex2.getMessage());}}
}

Spring4.x源码解析:JDK动态代理成生成代理对象源码相关推荐

  1. Java Executor源码解析(3)—ThreadPoolExecutor线程池execute核心方法源码【一万字】

    基于JDK1.8详细介绍了ThreadPoolExecutor线程池的execute方法源码! 上一篇文章中,我们介绍了:Java Executor源码解析(2)-ThreadPoolExecutor ...

  2. Spring AOP源码解析——AOP动态代理原理和实现方式

    2019独角兽企业重金招聘Python工程师标准>>> Spring介绍 Spring(http://spring.io/)是一个轻量级的Java 开发框架,同时也是轻量级的IoC和 ...

  3. Retrofit2 源码解析之动态代理

    基于 Retrofit 2.3.0 & Android 8.1 分析 Java 动态代理在 Android 上的实现 未经允许不得转载 Retrofit 使用示例 public interfa ...

  4. 代理模式源码解析(jdk+spring+mybatis)

    首先是java.lang.reflect,也就是我们刚刚使用的Proxy这个类,这里面coding的时候,也就是debug的时候,这个就是代理的一个典型应用,还有proxyFactoryBean,这个 ...

  5. 组合模式源码解析(jdk+mybatis)

    我们先看一下java.awt.container这么一个类,public class Container extends Component 我们可以看到这个类继承Component,awt这个包下边 ...

  6. 25-Spring源码解析之AOP(4)——创建AOP代理(1)

    Spring版本:<version>5.2.1.RELEASE</version> 文章目录 一.`Bean`的创建过程 二.创建切面类`LogAspects` 2.1 箭头( ...

  7. 动态代理(JDK动态代理和CGLIB代理)

    一.什么是代理? 代理是一种常用的设计模式,其目的就是为其他对象提供一个代理以控制对某个对象的访问.代理类负责为委托类预处理消息,过滤消息并转发消息,以及进行消息被委托类执行后的后续处理. 二 Jav ...

  8. 动态代理:JDK动态代理和CGLIB代理的区别

    代理模式:代理类和被代理类实现共同的接口(或继承),代理类中存有指向被代理类的索引,实际执行时通过调用代理类的方法.实际执行的是被代理类的方法. 而AOP,是通过动态代理实现的. 一.简单来说: JD ...

  9. 静态代理,JDK动态代理和CGLIB代理入门学习

    之前面试时面试官问我:"你知道spring中有哪几种代理吗?" 啊?代理?啥子代理?VPN代理吗?嘿嘿,面试官你要种子直说啊......被刷下来了.好吧,入门学习下代理. 为什么需 ...

最新文章

  1. 判断输入是否为中文的函数
  2. 从0开始的Python学习001快速上手手册
  3. Runtime.exec 调用OS命令特例
  4. 华为12月份鸿蒙适配mate40,华为:Mate40系列在12月可优先升级鸿蒙系统
  5. C语言课设 成绩管理程序
  6. Aho-Corasick automaton 模板
  7. Python笔记-函数装饰器
  8. 用 Python 写出这样的进度条,刷新了我对进度条的认知
  9. github删除已经push到服务器上的commit的方法
  10. 算法(八):图解KNN算法
  11. 提升安全性----用户资金防篡改
  12. C++的Memcpy与Memcpy_s函数解析
  13. linux升级内核5.10 网卡无法启动,博通网卡在Linux 5.10内核下无法搜索到无线网络的解决...
  14. VBA 下载图片到word
  15. rust启动错误ple_Rust 错误处理
  16. cesium添加填充_项目中的一个关于cesium的边界线的问题
  17. linux黑客大曝光 pdf,UPPH、UPH
  18. Leetcode 1921. 消灭怪物的最大数量-排序+贪心
  19. Window API ShowWindow
  20. 交通 流量 时间序列预测,神经网络 机器学习 BPNN

热门文章

  1. 常用操作系统扫描工具介绍
  2. 局域网应用问题专题解答
  3. Android Clip用法——自定义进度条
  4. Vue2.x使用Element组件登录过期多次弹窗问题
  5. 7-31 二叉树查找结点及父结点
  6. 人工智能项目实践-交通标志识别
  7. jquery.orgchart.js
  8. mysql主键约束代码_主键约束(示例代码)
  9. idea 调试 java,将Intellij-IDEA调试器附加到正在运行的java进程
  10. Vue后台管理系统简单实现