刚刚开始学spring,不知道spring是怎么实现aop技术的,希望大哥们讲讲!!
[b]问题补充:[/b]
我还有个问题,用户cgilb创建代理对象的时候,它的一个setcallback()函数是不是用的java里面的回调函数机制啊???
[b]问题补充:[/b]
谢谢!!
代理模式我已经看过了,现在就是对里面的拦截器什么的不懂,还是上上面的问题cglib是通过什么手段让实现拦截器的,我想知道它底层的实现,呵呵。麻烦了!!
原来你想知道具体的内部实现 呵呵 这个就得看源代码了
cglib最终还是依赖asm 的字节码操作 这样是效率最高 可操作性最好的
给你看文章
好好看第3篇 应该有你的答案 前2篇先给你来点 头脑风暴
enjoy self!
额,建议楼主先学习一下代理模式。
然后再看一下JDK通过接口来实现动态代理的方式。
然后再稍微了解一下cglib是怎么对类实现动态代理的。
就应该差不多了吧
Sprint中的AOP的实现方式 分为两种
1.当你的目标类为interface 选择jdk 提供的 动态代理(推荐) 当然你也选择cglib 这个需要配置 proxy-target-class="true"
2.当你的目标类为class 选择cglib 生成类似Xxx$$EnhancerByCGLIB$$的子类
给你看 老白 的blog
[url]http://www.blogjava.net/calvin/archive/2005/11/28/21741.html[/url]