背景 前段时间在工作中,包括一些代码阅读过程中,spring aop经常性的会看到cglib中的相关内容,包括BeanCopier,BulkBean,Enancher等内容,以前虽大致知道一些内容,原理是通过bytecode,但没具体深入代码研究,只知其所用不知其所以然,所以就特地花了半天多的工作时 ...
分类:
其他好文 时间:
2016-06-23 01:02:16
阅读次数:
272
两种代理: JDK动态代理:使用java.lang.reflect.Proxy动态代理实现,即提取目标对象的接口,然后对接口创建AOP代理。 CGLIB代理:不仅能进行接口代理,也能进行类代理,CGLIB代理需要注意以下问题: 不能通知final方法,因为final方法不能被覆盖(CGLIB通过生成 ...
分类:
其他好文 时间:
2016-06-14 22:12:25
阅读次数:
199
Spring的构成结构DAO:JDBC、Transaction、managementORM:Hibernate、JPA、TopLink、JDO、OJB、IbatisAOP:Asject、cglib、java代理Web:JSP、Velocity、Freemarker1,Spring简介:类型:BeanFactory、ApplicationContext其中ApplicationContext继承了BeanFactory,而且比Bean..
分类:
编程语言 时间:
2016-06-03 15:50:33
阅读次数:
249
动态代理,一般都是通过生成字节码来完成,只是生成的时机不同,而字节码的动态生成技术,不只是应用于动态代理,比如jar包,热替换等技术都是动态字节码的应用。 生成字节码的库比如ASM,这个库基本就是按照字节码规范定义的格式来操作,比较底层,像cglib这种工具是基于asm开发的。再往上的一些工具比如J ...
分类:
编程语言 时间:
2016-06-01 18:08:04
阅读次数:
158
package javacore.testForCglibProxy; import java.lang.reflect.Method; import net.sf.cglib.proxy.Enhancer; import net.sf.cglib.proxy.MethodInterceptor; ...
分类:
编程语言 时间:
2016-05-27 20:12:17
阅读次数:
844
Spring3,AOP,代理模式(动态/CGLIB/工厂bean),传统AOP,AspectJ框架(基于xml/注解),切入点表达式,jdbcTemplate...
分类:
数据库 时间:
2016-05-27 11:57:22
阅读次数:
313
一.概念
代理是什么呢?举个例子,一个公司是卖摄像头的,但公司不直接跟用户打交道,而是通过代理商跟用户打交道。如果:公司接口中有一个卖产品的方法,那么公司需要实现这个方法,而代理商也必须实现这个方法。如果公司卖多少钱,代理商也卖多少钱,那么代理商就赚不了钱。所以代理商在调用公司的卖方法后,加上自己的利润然后再把产品卖给客户。而客户部直接跟公司打交道,或者客户根本不知道公司的存在,...
分类:
编程语言 时间:
2016-05-27 11:28:02
阅读次数:
161
启动web应用时出现以下异常: 搜索后,使用这里的方法解决了: http://blog.sina.com.cn/s/blog_63d48d510100t77r.html 将cglib版本由2.1 改为 2.2。 ...
分类:
编程语言 时间:
2016-05-21 12:53:33
阅读次数:
258
JAVA的动态代理 代理模式 代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托类的对象关联,代理类的对象本身并不真正实现服务,而 ...
分类:
编程语言 时间:
2016-05-19 14:45:08
阅读次数:
240
在Spring AOP通过JDK或者Cglib的方式生成代理对象的时候,相关的拦截器已经配置到代理对象中去了,拦截器在代理对象中的作用是通过对这些方法的回调完成的。JDKDynamicAopProxy的invoke拦截@Override
public Object invoke(Object proxy, Method method, Object[] args) throws Throwable...
分类:
编程语言 时间:
2016-05-18 19:22:29
阅读次数:
269