最新文章列表

Java动态代理(JDK和Cglib)

静态代理:在程序编译时,代理类的.class文件已经存在了。  动态代理:在程序运行时,运用反射机制动态创建而成。  动态代理目前有两种代理机制:一种是基于JDK的动态代理;另一种是基于CGLib的动态代理。 JDK本身只提供接口的代理,而不支持类的代理。 CGLib本身只支持类的代理,而不支持接口的代理。   JDK动态代理     public interface IFor ...
chenjc_it 评论(0) 有1602人浏览 2012-05-21 23:24

SSH中出现java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter.&#...

参考:http://hi.baidu.com/enter775/blog/item/81ab4512ad6ee15af919b839.html java.lang.NoSuchMethodError: org.objectweb.asm.ClassWriter.<init>(I)V 解决办法: 把hibernate中的cglib-*.jar和asm-*.jar删除,添加spring ...
chen106106 评论(0) 有1186人浏览 2012-05-08 22:18

异步并行加载使用说明(asyncload)

背景  最近资讯asyncload使用的同学越来越多,会有些一些经常性的问题,这里我做一下整理和answer,同时介绍一下asyncload的UserGuide 和一些限制等。   关于asyncload,又名异步并行加载 ,可参见我之前的文章: (业务层)异步并行加载技术分析和设计 UserGuide篇 几个基本概念: 线程池 (定义异步处理的线程池模型,包括线程数,队列大小等) ...
agapple 评论(2) 有9543人浏览 2012-04-28 16:43

cglib简介

  cglib   cglib是一个开源项目!  是一个强大的,高性能,高质量的Code生成类库,它可以在运行期扩展Java类与实现Java接口。Hibernate用它来实现PO字节码的动态生成。   CGLIB包的介绍        代理为控制要访问的目标对象提供了一种途径。当访问对象时,它引入了一个间接的层。JDK自从1.3版本开始,就引入了动态代理,并且经常被用来动态地创建代理。J ...
sunlzx 评论(0) 有630人浏览 2012-03-13 23:24

cglib和asm相关的文章

  cglib和asm相关的文章     温故了一个cglib和asm,找到几篇写得比较好,介绍得比较清楚的文章:     1、CGlib简单介绍,访问地址:http://www.blogjava.net/stone2083/archive/2008/03/16/186615.html,从简单的示例到不同业务场景的变化,一步步让读者明白,为什么要使用cglib以及哪种场景下需 ...
sunlzx 评论(0) 有838人浏览 2012-03-13 23:22

利用cglib给javabean动态添加属性

cglib22下载地址:http://115.com/file/anfoloem#cglib.rar 不知道大家有没有遇到过这样的需求 ,就java运行的时候 动态给你java对象添加属性,   有的时候 比如你用的是hibernate或者Spring jdbc 来做dao层进行数据库相关的操作的时候,若果是单表的操作的时候 还比较简单 hibernate可直接返回(get,load) ...
bjtdeyx 评论(3) 有6979人浏览 2012-03-05 15:15

cglib 笔记

反射、Proxy和元数据是Java最强的三个特征,再加上CGLib (Code Generation Library)和ASM,使得Java虽然没有Ruby,Python般后生可畏,一样能做出强悍的框架。    Proxy可以看作是微型的AOP,明白提供了在继承和委托之外的第三个代码封装途径,Spring的源码里用Proxy就用得很随意。但是Proxy必须基于接口。因此Spring的做法,基于接口的 ...
java_min 评论(0) 有1114人浏览 2012-02-21 19:30

CGLIB动态代理

JDK的动态代理对象,需要一个或多个接口 CGLIB:不需要代理对象有接口。可在运行期间扩展JAVA类,实现JAVA接口 CGLIB是以拦截器方式进行代理,拦截的是某个类的某些方法,如果某些方法不想被拦截,可使用过滤进行过滤拦截。 步骤:     创建Enhancer的实例,Enhancer是一个增强对象,他可以在运行期间创建代理对象的子类。     设置Enhancer的属性。     ...
jianwwpro 评论(0) 有1181人浏览 2012-02-11 09:55

BeanNotOfRequiredTypeException: ***but was actually of type [$Proxy6]

今天自己搭建框架的时候,出了这个问题,出现这个异常,spring框架AOP才用JDK动态代理只能对实现了接口的类实现动态代理,而不能针对类,我自己在搭建项目的时候没有用接口的模式,所以在应用启动时候,配置AOP事务 的时候会扫描你的service层,service层用到了Dao层的接口代理模式(spring 默认) 因为我没有采用接口模式编程,所以报错...   如果不才用接口模式那么 就要用C ...
asdf2hjkl 评论(2) 有20240人浏览 2012-02-10 16:34

Spring Aop Cglib 切没有接口的实现类

用kenoAspect去切 A1335_ValidPrize类的中volidVO,doaction方法    cglib的jar包     <!-- cglib统计用 -->         <dependency>             <groupId>cglib</groupId>             <artifact ...
福将1032 评论(0) 有2312人浏览 2011-12-01 11:37

简单模拟spring cglib代理

spring使用了两种代理模式,一种是jdk动态代理,另有一种就是我下面将要还原的cglib代理。在这里我向大家推荐一个具体分析jdk动态代理和cglib的区别和优缺点的博客:http://hbzwt.iteye.com/blog/909147,具体大家可以参照他写的,个人感觉写的蛮好。 在这里我给大家做一个形象的比喻来解释代理,一个女明星要接业务或特殊服务,都是通过她的经纪人来联系,至于价格多少, ...
lochen514 评论(0) 有1411人浏览 2011-11-21 22:59

cglib例子

import java.lang.reflect.Method; import net.sf.cglib.proxy.Enhancer; import net.sf.cglib.proxy.MethodInterceptor; import net.sf.cglib.proxy.MethodProxy; class Myclass { public void method() { Syst ...
sassds 评论(0) 有1142人浏览 2011-10-11 11:35

Hibernate底层技术简介 CGLIB

从可以看到,基于ASM的开发很复杂,需要了解JVM的底层编码。CGLIB以ASM为基础, 对ASM的功能进行了扩展和封装,提供了更友好的API,部分通用的模版和高级的功能实现。CGLIB的具体功能如下: (1)扩展ASM的Visitor模式。在ASM的Visitor模式的基础上利用ClassEmitter和CodeEmitter将Visitor事件封装为更符合Java开发者习惯的事件。 (2)实 ...
ostriches 评论(0) 有910人浏览 2011-09-06 23:17

CGlib动态代理-简单介绍

CGlib简单介绍 CGlib概述: cglib(Code Generation Library)是一个强大的,高性能,高质量的Code生成类库。它可以在运行期扩展Java类与实现Java接口。 cglib封装了asm,可以在运行期动态生成新的class。 cglib用于AOP,jdk中的proxy必须基于接口,cglib却没有这个限制。 CGlib应用: 以一个实例在简单介绍下cglib的应用 ...
pph007 评论(0) 有878人浏览 2011-09-06 10:10

java代理的两种实现

package dao; public interface BookFacade { public void addBook(); } -------------------------------- package dao.impl; import dao.BookFacade; public class BookFacadeImpl implemen ...
hb_wxd 评论(0) 有855人浏览 2011-08-17 10:42

cglib源码学习交流

转载自 ---- http://agapple.iteye.com/blog/799827 背景     前段时间在工作中,包括一些代码阅读过程中,spring aop经常性的会看到cglib中的相关内容,包括BeanCopier,BulkBean,Enancher等内容,以前虽大致知道一些内容,原理是通 过bytecode,但没具体深入代码研究,只知其所用不知其所以然,所以就特地 ...
zhangyiqian 评论(0) 有819人浏览 2011-08-10 14:46

聊一下Java代理那点事

代理模式 代理模式的作用是:为其他对象提供一种代理以控制对这个对象的访问。在某些情况下,一个客户不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。 代理模式一般涉及到的角色有: 抽象角色:声明真实对象和代理对象的共同接口; 代理角色:代理对象角色内部含有对真实对象的引用,从而可以操作真实对象,同时代理对象提供与真实对象相同的接口以便在任何时刻都能代替真实对 ...
HelloSure 评论(3) 有2016人浏览 2011-08-06 20:08

实现动态代理的两种方式

第一种使用jdk实现 第二种使用cglib实现 代码写的比较飘逸,娱乐与教学并存。 jdk实现动态代理(接口) public interface 打架接口 { public void 开打(); } public class 打架 implements 打架接口 { @Override public void 开打() { System.out.println(& ...
充满智慧的威哥 评论(0) 有935人浏览 2011-08-04 18:44

最近博客热门TAG

Java(141744) C(73651) C++(68608) SQL(64571) C#(59609) XML(59133) HTML(59043) JavaScript(54919) .net(54785) Web(54514) 工作(54118) Linux(50905) Oracle(49875) 应用服务器(43289) Spring(40812) 编程(39454) Windows(39381) JSP(37542) MySQL(37267) 数据结构(36424)

博客人气排行榜

    博客电子书下载排行

      >>浏览更多下载

      相关资讯

      相关讨论

      Global site tag (gtag.js) - Google Analytics