terranhao 2008-12-15 11:14
浏览 335
已采纳

spring所使用的代理原理是什么?

spring的aop使用了jdk的代理或者是cgilib的代理,或者aspectj的静态代理。
请教这几种代理是如何实现的?
cgilib所属动态代理,他难道能在运行时刻修改类定义?
但java语言不支持运行时刻修改类吧?
jdk支持动态代理,这是java核心语言,sun提供了什么东西我不知道。
但是cgilib是如何做到的?
同时请教下aspectj是否是通过修改字节码来实现静态代理的?
感谢各位解答

[b]问题补充:[/b]
java的字节码,也就是class类除了sun别人也能理解?还是说sun开源是吧字节码规范也开源了?
同时问下.net有没有代理的能力?

  • 写回答

3条回答 默认 最新

  • Colin_Liu 2008-12-16 13:38
    关注

    关于动态代理与CGLIB讨论,希望会有帮助
    http://www.iteye.com/topic/182654

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
  • nusan2 2008-12-16 09:10
    关注

    cglib的动态代理原理是借助asm开源框架动态生成类定义的字节码,并且创建类定义的势力。你可以下cglib的发布包,读一读里面的测试用例,可以帮你更深入的了解它。
    JDK的动态代理功能有限,cglib包含了所有JDK代理的功能。

    评论
  • dmewy 2008-12-16 13:19
    关注

    JAVA强大的反射机制..

    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 Matlab计算100000*100000的矩阵运算问题:
  • ¥50 VB6.0如何识别粘连的不规则的数字图片验证码
  • ¥16 需要完整的这份订单所有的代码,可以加钱
  • ¥30 写一个带界面控制的机房电脑一键开机关机并且实时监控的软件
  • ¥15 Stata数据分析请教
  • ¥15 请教如何为VS2022搭建 Debug|win32的openCV环境?
  • ¥15 关于#c++#的问题:c++如何使用websocketpp实现websocket接口调用,求示例代码和相关资料
  • ¥15 51单片机的外部中断,按下按键后不能切换到另一个模式
  • ¥15 java连接sqlserver有问题
  • ¥15 yolov8 如何调cfg参数