①、启动懒加载,mybatis初始化返回类型的时候,会返回一个cglib代理对象,该对象的关联对象(例如一对多,多对一)相关信息就会在loadpair里边,并且添加到loadmap中,cglib对象会过滤get,set ,is,"equals", "clone", "hashCode", "toSt ...
分类:
其他好文 时间:
2017-11-01 19:39:43
阅读次数:
150
在学习Java之后会遇到很多的注解,有加载JavaBean的注解:@Component,@Service,@Controller;有获取配置文件中数值的注解@Value;有获取Http请求的数据的注解,@RequestBody。通过这些注解,spring扫描这些组件,提供相关的服务。如何自定义注解, ...
分类:
编程语言 时间:
2017-10-28 16:31:11
阅读次数:
217
Spring的文档中这么写的:Spring AOP部分使用JDK动态代理或者CGLIB来为目标对象创建代理。如果被代理的目标实现了至少一个接口,则会使用JDK动态代理。所有该目标类型实现的接口都将被代理。例如,我自己编写的ServiceImpl类实现了Service接口,就在使用getBean()时 ...
分类:
编程语言 时间:
2017-10-28 01:04:17
阅读次数:
251
class文件简介及加载 Java编译器编译好Java文件之后,产生.class 文件在磁盘中。这种class文件是二进制文件,内容是只有JVM虚拟机能够识别的机器码。JVM虚拟机读取字节码文件,取出二进制数据,加载到内存中,解析.class 文件内的信息,生成对应的 Class对象: class字 ...
分类:
编程语言 时间:
2017-10-27 16:00:06
阅读次数:
279
SSH 类库问题 java.lang.NoClassDefFoundError: Could not initialize class net.sf.cglib.proxy.Enhancer2009-09-16 02:15由MyEclipse自动导入的Spring,Hibernate,Struts ...
分类:
编程语言 时间:
2017-10-27 01:28:22
阅读次数:
354
该属性值默认为false,表示使用JDK动态代理织入增强;当值为true时,表示使用CGLib动态代理织入增强;但是,即使设置为false,如果目标类没有生命接口, 则Spring将自动使用CGLib动态代理.(以上来自:Spring3.X企业应用开发实战 P229) 通俗理解: 当要使用实现了某个 ...
分类:
其他好文 时间:
2017-10-26 15:35:52
阅读次数:
219
JDK动态代理: 1.能够继承静态代理的全部优点.并且能够实现代码的复用.2.动态代理可以处理一类业务.只要满足条件 都可以通过代理对象进行处理.3.动态代理的灵活性不强.4.JDK 的动态代理要求代理者必须实现接口, , 否则不能生成代理对象. . Cglib动态代理: 1.不管有无接口都可以创建 ...
分类:
其他好文 时间:
2017-10-20 13:28:24
阅读次数:
210
public class CglibProxy implements MethodInterceptor { private Object target; public Object createProxy(Object target) { this.target = target; Enhance... ...
分类:
其他好文 时间:
2017-10-19 17:42:20
阅读次数:
181
动态代理: 目的:在不改变源代码的情况下,对方法进行增强! 动态代理又分为两种: 1.第一个就是基于接口的动态代理,他是由jdk提供的 2.基于子类的动态代理:cglib提供的:要想使用基于子类的动态代理:就必须得导入cglib的jar包 特性:被代理对象的任意方法 Spring_aop:总结aop ...
分类:
编程语言 时间:
2017-10-18 02:14:04
阅读次数:
332
1.多对多 // 查询某个老师教的所有学生集合 Teacher 》List<Student> Student2.主加载和关联查询 Dept 关联对象的加载时机: 1.直接加载 dept和emps 两条sql都执行 2.侵入式延迟 3.深度延迟 cglib: <!--cglib--> <depende ...
分类:
其他好文 时间:
2017-10-16 22:16:00
阅读次数:
196