MyBatis之MyBatis环境搭建 一、MyBatis开发环境搭建 1.引入Jar包 ①MyBatis mybatis-3.4.1.jar ant-1.9.6.jar ant-launcher-1.9.6.jar asm-5.1.jar cglib-3.2.4.jar commons-loggi ...
分类:
其他好文 时间:
2017-04-09 11:43:28
阅读次数:
205
IOC和AOP是Spring的两大基石,AOP(面向方面编程),也可称为面向切面编程,是一种编程范式,提供从另一个角度来考虑程序结构从而完善面向对象编程(OOP)。 在进行 OOP 开发时,都是基于对组件(比如类)进行开发,然后对组件进行组合,OOP 最大问题就是无法解耦组件进行开发,比如我们上边举 ...
分类:
编程语言 时间:
2017-04-04 11:45:44
阅读次数:
244
前言 最近一直在看Spring源码,其实我之前一直知道AOP的基本实现原理: 如果针对接口做代理默认使用的是JDK自带的Proxy+InvocationHandler 如果针对类做代理使用的是Cglib 即使针对接口做代理,也可以将代理方式配置成走Cglib的 之后要看AOP源码了,Proxy+In ...
分类:
其他好文 时间:
2017-04-03 15:26:18
阅读次数:
195
恢复内容开始 面向切面编程,把散落在程序中的公共部分提取出来,做成切面类,这样的好处在于,代码的可重用,一旦涉及到该功能的需求发生变化,只要修改该代码就行,否则,你要到处修改,如果只要修改1、2处那还可以接受,万一有1000处呢。 AOP底层的东西就是JDK动态代理和CGLIB代理,说白了就是增强类 ...
分类:
编程语言 时间:
2017-03-31 13:09:54
阅读次数:
181
对象复制听说用这个更高效/** * 拷贝对象 * @param src 源对象 * @param dist 需要赋值的对象 */public static void copy(Object src, Object dist) { BeanCopier copier = BeanCopier .cre... ...
分类:
编程语言 时间:
2017-03-27 00:37:05
阅读次数:
211
二、Cglib代理名词理解: Cglib代理,也叫做子类代理。利用继承关系实现被代理类的功能扩展.缺点: (1)JDK的动态代理有一个限制,就是使用动态代理的对象必须实现一个或多个接口。 (2)如果想代理没有实现接口的类,就可以使用CGLIB实现。 (3)CGLIB是一个强大的高性能的代码生成包,它 ...
分类:
编程语言 时间:
2017-03-15 20:17:59
阅读次数:
228
JDK自从1.3版本开始,就引入了动态代理,并且经常被用来动态地创建代理,原理之前我已经讲过。JDK的动态代理用起来非常简单,但它有一个限制,就是使用动态代理的对象必须实现一个或多个接口。如果想代理没有实现接口的继承的类,该怎么办?现在我们可以使用CGLIB包。 PS:需要引入com.springs ...
分类:
编程语言 时间:
2017-03-14 15:47:41
阅读次数:
281
转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6542259.html 一:代理模式(静态代理) 代理模式是常用设计模式的一种,我们在软件设计时常用的代理一般是指静态代理,也就是在代码中显式指定的代理。 静态代理由 业务实现类、业务代理类 两部分组成。业务实现 ...
分类:
编程语言 时间:
2017-03-13 14:57:15
阅读次数:
237
hibernate3.jar asm.jar cglib-2.1.3.jar commons-collections-2.1.1.jar commons-logging-1.0.4.jar dom4j-1.6.1.jar ehcache-1.1.jar jta.jar mysql-connector ...
分类:
Web程序 时间:
2017-02-22 21:05:20
阅读次数:
232
用途 增强/替换原有类的行为 AOP编程 日志增强 权限控制 事务管理等 分类 静态代理 实现同一个接口 传入被代理对象 动态代理 jdk->Proxy、InvocationHandler实现 面向接口,生成与被代理类继承相同接口的class文件 反射调用(效率降低) cglib->基于ASM,修改 ...
分类:
其他好文 时间:
2017-02-10 18:10:30
阅读次数:
140