Lazy(懒加载):只有在正真使用该对象时,才会创建这个对象Hibernate中的lazy(懒加载):只有我们在正真使用时,它才会发出SQL语句,给我们去查询,如果不使用对象则不会发SQL语句进行查询。Hibernate中lazy(懒加载)的实现: 采用了第三方组件的库,这个库叫cglib.jar(...
分类:
其他好文 时间:
2014-11-06 19:14:39
阅读次数:
174
Spring Proxying Mechanisms_Spring代理机制 来自:/current/spring-framework-reference4.1.1 Spring AOP uses either JDK dynamic proxies or CGLIB to create the proxy for a given target object. (JDK dyna...
分类:
编程语言 时间:
2014-11-05 13:14:40
阅读次数:
193
第一种代理即Java的动态代理方式上一篇已经分析,在这里不再介绍,现在我们先来了解下GCLIB代理是什么?它又是怎样实现的?和Java动态代理有什么区别?
cglib(Code Generation Library)是一个强大的,高性能,高质量的Code生成类库。它可以在运行期扩展Java类与实现Java接口。
cglib封装了asm,可以在运行期动态生成新的class。
cglib用于AO...
分类:
编程语言 时间:
2014-11-04 15:03:56
阅读次数:
228
AOP(Aspect Orient Programming),作为面向对象编程的一种补充,广泛应用于处理一些具有横切性质的系统级服务,如事务管理、安全检查、缓存、对象池管理等。AOP 实现的关键就在于 AOP 框架自动创建的 AOP 代理,AOP 代理则可分为静态代理和动态代理两大类,其中静态代理是...
分类:
编程语言 时间:
2014-10-24 18:17:24
阅读次数:
253
//依赖的包:commons-logging-api-1.1.jar,commons-logging-1.0.4.jar,proxool-0.9.1.jar,proxool-cglib.jar,cglib-nodep-2.1_3.jar,jarjar-0.6.jar,hsqldb.jar//直接获取...
分类:
其他好文 时间:
2014-10-22 21:53:38
阅读次数:
204
Hibernate是基于缓存机制实现的。Hibernate的缓存包括:一级缓存、二级缓存和查询缓存。
Hibernate中支持懒加载load,也支持及时加载get。Hibernate采用CGlib的动态代理实现延迟加载。延迟加载采用CGlib的Enhancer类动态生成类。
比较
下面对Hibernate中一级缓存、二级缓存、查询缓存机制做一个横向比较:
相同点:
1、均为缓存,均可在一定的条件下缓存数据;
2、Hibernate的查询实现,是基于缓存机制;
3、三种缓存方式的内部实现方式...
分类:
Web程序 时间:
2014-10-22 11:07:19
阅读次数:
282
一:前言 自己在稳固spring的一些特性的时候在网上看到了遮掩的一句话“利用接口的方式,spring aop将默认通过JDK的动态代理来实现代理类,不适用接口时spring aop将使用通过cglib 来实现代理类",我对JDK的动态代理机制其实一点都不了解,学习java的时候也是只是知道会用,....
分类:
编程语言 时间:
2014-10-14 20:55:09
阅读次数:
162
代理的核心就是拦截方法调用,并在需要的时候执行匹配某方法的通知链。 和CGLIB不同的是,JDK代理只能代理接口,不能代理类。 使用JDK代理时,如何处理一个特定的方法调用的决定是在程序运行时做出的,也就是在每次方法被调用时。使用CGLIB代理可以边开这种处理方法,CGLIB会在运行中随时为代理创建...
分类:
其他好文 时间:
2014-10-13 02:15:28
阅读次数:
272
glassfish的jar包存放在/glassfish/modules文件夹下,包含250多个jar包,但是实际拷贝到web项目lib下的,只需拷贝41个必备jar包
下面罗列一下jar包名称
bean-validator.jar
cglib.jar
common-util.jar
config-api.jar
config-types.jar
core.jar
deployment-comm...
分类:
编程语言 时间:
2014-10-11 11:55:45
阅读次数:
180
1.委托类;package 动态代理2;//需要对这个类进行增强public class UserService { public void create() { System.out.println("创建用户"); } public void up...
分类:
其他好文 时间:
2014-10-05 17:52:18
阅读次数:
187