在上篇博客中介绍了使用ThreadLocal维护Connection的方法,这样做的最大的好处就是不用来回的传递Connection了,但是我们有会发现在我们使用事务的时候不可避免的会写许多重复的代码,这些都是与业务逻辑无关的:
Connection conn = ConnectionManage.GetConnection();
Conn...
分类:
其他好文 时间:
2014-08-31 21:29:11
阅读次数:
213
首先说一下动态代理和静态代理的区别:
静态代理:是预先写好或由特定工具自动生成的代码,再对其编译。在程序运行前,代理类的.class文件就已经存在了。
动态代理:代理是在程序运行时,运用反射机制动态创建而成的,程序运行之前,代理是不存在的。
Java的静态代理最简单的场景,一个接口,一个实现类,一个代理类就可以搞定,这个代理类持有接口实现类的引用,这样便可以实现委托对象的增强了。
Jav...
分类:
其他好文 时间:
2014-08-31 17:17:41
阅读次数:
170
注解是一种很优雅的书写方式,也是我们的代码变的简洁,更加...
分类:
移动开发 时间:
2014-08-30 12:43:19
阅读次数:
356
一、何为AOP? spring 的两大核心思想无非是 IOC和AOP。那么Spring 的 aop 是神马意思呢?AOP为Aspect Oriented Programming的缩写,意为:面向切面编程,通过预编译方式和运行期动态代理实现在不修改源代码的情况下给程序动态统一添加功能的一种技术。AO....
分类:
编程语言 时间:
2014-08-29 14:26:17
阅读次数:
230
java动态代理(JDK和cglib)JAVA的动态代理代理模式:代理模式是常用的java设计模式,他的特征是代理类与委托类有同样的接口,代理类主要负责为委托类预处理消息、过滤消息、把消息转发给委托类,以及事后处理消息等。代理类与委托类之间通常会存在关联关系,一个代理类的对象..
分类:
编程语言 时间:
2014-08-29 02:58:37
阅读次数:
247
JDK动态代理是java反射的一个重要特性。它在某种方面为java提供了动态性的特性,给应用带来了无限的空间。大名鼎鼎的Hessian、Spring AOP基于动态代理实现。本文将简单的介绍JDK动态代理使用。关于代理模式代理模式是非常常用的一种设计模式,在我们的应用中经常被使用。一般场景是,我们有...
分类:
其他好文 时间:
2014-08-28 17:58:35
阅读次数:
224
学过设计模式,用过设计模式,可是转瞬又忘了,这些模式究竟是什么,究竟是干什么用,究竟是用在哪里的.看DRP的时候,又介绍了代理模式,介绍了静态代理,动态代理;当时就认为代理模式,就像是在client和真实的主题类中加了一个隔层,就像是解耦,加了一个中间层.之前学习的时候,感觉那个样例举得不好,...
分类:
其他好文 时间:
2014-08-27 18:13:28
阅读次数:
195
由之前动态代理的学习再次接触到反射这个知识点,第二次接触了所以做了一些稍微深入的了解。那么,对于反射这部分的内容我打算分三篇博客来总结。本篇博客先对反射做一个大概的了解,包括反射有关的RTTI、定义的理解以及涉及到的其他知识的简介。
回顾
java之前我接触反射这个知识,是在大话设计中的抽象工厂模式里,通过反射+配置文件来优化抽象工厂提高其应对需求变更的灵活性。当时对于反射的认知仅...
分类:
编程语言 时间:
2014-08-27 16:42:48
阅读次数:
208
JDK实现动态代理需要实现类通过接口定义业务方法,对于没有接口的类,如何实现动态代理呢?
这就需要CGLib了。CGLib采用了非常底层的字节码技术,其原理是通过字节码技术为一个类创建子类,并在子类中采用方法拦截的技术拦截所有父类方法的调用,顺势织入横切逻辑。
JDK动态代理与CGLib动态代理均是实现Spring AOP的基础。
一、JDK这种方式动态代理
1. 没引入spr...
分类:
其他好文 时间:
2014-08-26 17:21:16
阅读次数:
389
JDK动态代理中包含一个类和一个接口:InvocationHandler接口:public interface InvocationHandler {public Object invoke(Object proxy,Method method,Object[] args) throws Throw...
分类:
其他好文 时间:
2014-08-26 16:53:56
阅读次数:
243