lookup method注入是spring动态改变bean里方法的实现。方法执行返回的对象,使用spring内原有的这类对象替换,通过改变方法返回值来动态改变方法。内部实现为使用cglib方法,重新生成子类,重载配置的方法和返回最像,达到动态改变的效果。 ...
分类:
编程语言 时间:
2016-08-07 12:30:34
阅读次数:
175
AOPAOP是OOP的有益补充,他为程序开发提供了一个崭新的思考角度,可以将重复性的横切逻辑抽取到统一的模块中,通过OOP的纵向抽象和AOP的横向抽取,程序才能真正解决复杂性代码问题。 Spring采用JDK动态代理和CGLib动态代理的技术在运行期间植入增强,所以我们不需要装备特殊的编译器或者类装 ...
分类:
编程语言 时间:
2016-08-03 19:58:29
阅读次数:
183
Hibernate Jar: 1、hibernate3.jar,这个是hibernate3.0的核心jar包,没的选,像我们常用的Session,Query,Transaction都位于这个jar文件中,必要。 2、cglib-2.1.3.jar,CGLIB库,Hibernate用它来实现PO字节码 ...
分类:
编程语言 时间:
2016-07-29 21:14:14
阅读次数:
211
class文件简介及加载 Java编译器编译好Java文件之后,产生.class 文件在磁盘中。这种class文件是二进制文件,内容是只有JVM虚拟机能够识别的机器码。JVM虚拟机读取字节码文件,取出二进制数据,加载到内存中,解析.class 文件内的信息,生成对应的 Class对象: class字 ...
分类:
编程语言 时间:
2016-07-28 15:20:14
阅读次数:
427
由于将spring源代码导入到eclipse后,缺少jar包, 所以从maven仓库中下载spring发布的spring-core jar包. 为了方便理解目录结构,使用tree命令: tree [/f] >tree.txt /f 时,会生成full 全部子目录/文件 ├─pac_jar_cglib ...
分类:
编程语言 时间:
2016-07-21 22:00:19
阅读次数:
258
配置完成后可能会报错Cannot enable lazy loading because CGLIB is not available. Add CGLIB to your classpath 是由于缺少jar包 cglig-2.2.jar asm-2.2.3.jar 配置过程 mybatis-co ...
分类:
其他好文 时间:
2016-07-21 16:18:40
阅读次数:
476
由于将spring源代码导入到eclipse后,缺少jar包, 所以从maven仓库中下载spring发布的spring-core jar包. 为了方便理解目录结构,使用tree命令: tree [/f] >tree.txt /f 时,会生成full 全部子目录/文件 ├─pac_jar_cglib... ...
分类:
编程语言 时间:
2016-07-19 23:43:50
阅读次数:
262
Java 虽然没有动态语言般暴起,但仍然天连天,水接水的生出好多框架技术 反射(reflection),泛型(generics),元数据(annotation),proxies(proxy/cglib),代码动态生成(asm),AOP(aspectJ),动态语言嵌入(groovy/javascrip ...
分类:
编程语言 时间:
2016-07-19 17:01:26
阅读次数:
215
JDK自从1.3版本开始,就引入了动态代理,JDK的动态代理用起来非常简单,但是它有一个限制,就是使用动态代理的对象必须实现一个或多个接口 。如果想代理没有实现接口的类可以使用CGLIB包。 CGLIB是一个强大的高性能的代码生成包。它被许多AOP的框架(例如Spring AOP)使用,为他们提供方 ...
分类:
编程语言 时间:
2016-07-19 15:22:14
阅读次数:
168
什么是代理模式为某对象提供一个代理,从而通过代理来访问这个对象。代理模式的角色组成代理模式有三种角色组成:抽象角色:通过接口或抽象类声明真实角色实现的业务方法。
代理角色:实现抽象角色,是真实角色的代理,通过真实角色的业务逻辑方法来实现抽象方法,并可以附加自己的操作。
真实角色:实现抽象角色,定义真实角色所要实现的业务逻辑,供代理角色调用。我的总结:抽象角色就是一个接口或抽象类,定义一些方法;...
分类:
其他好文 时间:
2016-07-19 10:34:13
阅读次数:
108