昨天晚上一哥们需要获取代理对象的目标对象,查找了文档发现没有相应的工具类,因此自己写了一个分享给大家。能获取JDK动态代理/CGLIB代理对象代理的目标对象。问题描述::我现在遇到个棘手的问题,要通过spring托管的service类保存对象,这个类是通过反射拿到的,经过实验发现这个类只能反射取得s...
分类:
编程语言 时间:
2014-12-18 22:13:15
阅读次数:
164
上次总结了一下静态代理,代理的思想很容易理解,但是静态代理的能力毕竟有限。假如我有很多类都需要使用相同的代理,那么我们必须为其编写代理类,而这些代理类做的工作大都一样,在关键时刻会调用真实对象,在调用真实对象的方法前后会有所增强处理。不同之处就是调用的对象不同,那么是否有这样一个类,只需我们给它一个真实对象,给它一些必要的参数,它就能帮我们生成代理类呢。
当然可以,JDK自带的就有...
分类:
其他好文 时间:
2014-12-16 15:14:48
阅读次数:
184
Cglib动态代理
JDK的动态代理机制只能代理实现了接口的类,而不能实现接口的类就不能实现JDK的动态代理,cglib是针对类来实现代理的,他的原理是对指定的目标类生成一个子类,并覆盖其中方法实现增强,但因为采用的是继承,所以不能对final修饰的类进行代理。
示例 :
1、BookFacadeCglib.java
package net.battier.dao;...
分类:
其他好文 时间:
2014-12-15 21:53:26
阅读次数:
224
调试SPRING MVC(或者整合SSH)的时候遇到了org/objectweb/asm/Type 解决方法1: 原因是Spring中的cglib-nodep-2.x.x.jar与Hibernate中的cglib-2.2.jar相冲突! 两种框架整合时Spring中的cglib-nodep-2.x.x.jar是必...
分类:
编程语言 时间:
2014-12-15 12:21:51
阅读次数:
207
Spring强制使用CGLIB代理事务springaopjdkreferenceclasspathSpring1.2:将事务代理工厂[TransactionProxyFactoryBean] 或 自动代理拦截器[BeanNameAutoProxyCreator]的proxyTargetClass属性...
分类:
编程语言 时间:
2014-12-05 14:08:43
阅读次数:
228
JAVA的动态代理代理模式代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托类的对象关联,代理类的对象本身并不真正实现服务,而是通...
分类:
编程语言 时间:
2014-12-03 01:44:03
阅读次数:
408
1、什么是CGlibCGlib是一个强大的,高性能,高质量的Code生成类库。它可以在运行期扩展Java类与实现Java接口。然这些实际的功能是asm所提供的,asm又是什么?Java字节码操控框架,具体是什么大家可以上网查一查,毕竟我们这里所要讨论的是cglib,cglib就是封装了asm,简化了...
分类:
其他好文 时间:
2014-12-03 01:40:23
阅读次数:
206
*****1,动态代理public interface UserDao { void save();}public class UserDaoImpl implements UserDao { private String name; public void save() ...
分类:
其他好文 时间:
2014-11-26 20:47:21
阅读次数:
138
创建WebProject之后先把mybatis-3.2.2.zip里的mybatis-3.2.2.jar包和lib里的asm-3.3.1.jar、cglib-2.2.2.jar、commons-logging-1.1.1.jar、javassist-3.17.1-GA.jar、log4j-1.2.1...
分类:
其他好文 时间:
2014-11-22 10:26:59
阅读次数:
350
IOC : inversion of 缩写,DI:dependency injection 即在调用者中注入被调用者的实例。AOP 面向切面编程,是代理模式的体现。spring默认使用JDK的动态代理,主要是代理接口,如果业务对象没有实现接口,则默认CGLIB代理。例下:xml配置 ...
分类:
编程语言 时间:
2014-11-15 00:00:33
阅读次数:
462