动态代理是Spring Aop的基础,分为基于JDK的动态代理和基于CGLIB的动态代理。 声明一个被代理的类: 使用装饰模式来实现静态代理: 基于JDK的动态代理: 测试用例: 基于cglib的动态代理: 测试用例: 在使用动态代理时, 在aop:config标签中设置 proxy-target- ...
分类:
其他好文 时间:
2016-04-26 00:09:36
阅读次数:
286
代理(proxy)是一种设计模式,提供了对目标对象的访问方式,即通过代理访问目标对象。这样好处:可以在目标对象实现的基础上,增强额外的功能。(扩展目标对象的功能) 1.首先定义一个接口类: 2.定义一个目标对象类: 3.定义一个代理对象类: 4.定义一个测试类: 总结: 静态代理的优点:可以做到在不 ...
分类:
编程语言 时间:
2016-04-25 00:29:23
阅读次数:
188
静态代理要搞清楚三个关系:客户类 代理类 委托类 代理类的行为要类似且强于委托类(实现方法有1.继承,2.代理类与委托类实现共同的接口(首选)) /** * 用静态代理模式完成日志的操作 * @author Administrator * */public class UserAction { pr ...
分类:
其他好文 时间:
2016-04-23 13:29:49
阅读次数:
131
代理模式(Proxy pattern):当一个对象不想或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介的作用。静态代理是具体去实现需要代理对象接口,覆写方法时进行个性化操作。 单独为代理而实现作为某个接口实现类的则为静态代理(Static Proxy)。 不多说了,上代码? ...
分类:
编程语言 时间:
2016-04-18 11:45:37
阅读次数:
205
一、业务场景:租房子 二、角色:中介、房东、租房客户 角色分析 抽象角色 (租房子)一般使用接口或抽象类来实现 真实角色 (房东)被代理的角色 代理角色 (中介)代理真实角色。 客户 使用代理角色进行一些操作。 三、代码 接口:租房子 房东 中介 租房客户 四、使用代理的好处: 1.是的真实角色处理 ...
分类:
其他好文 时间:
2016-04-17 22:07:54
阅读次数:
175
在前面讲静态代理的时候说道它有一个缺陷:必须为每一个你想要进行代理的接口都设计一个静态的代理类。 那么,有没有一种更加灵活的方案呢?这就是动态代理,即在运行时为特定接口动态的生成一个代理类对象。 与动态代理密切相关的有两个东西:java.lang.reflect.InvocationHandler与 ...
分类:
其他好文 时间:
2016-04-14 22:03:43
阅读次数:
203
定义:为其他对象提供一种代理以控制对这个对象的访问。代理对象起到中介的作用,可去掉功能服务或增加额外的服务。 推荐用聚合方式实现静态代理 所谓动态代理是这样一种class:它是在运行时生成的class,该class需要实现一组interface,使用动态代理时必须实现InvocationHandle ...
分类:
其他好文 时间:
2016-04-10 19:19:37
阅读次数:
175
代理模式是常用的设计模式,其特征是代理类与委托类具有相同的接口,在具体实现上,有静态代理和动态代理之分。代理类与委托类之间通常会存在关联关系,一个代理类的对象与一个委托类的对象关联,代理类的对象本身并不真正实现服务,而是通过调用委托类的对象的相关方法,来提供特定的服务,也就是说代理类主要负责为委托类 ...
分类:
编程语言 时间:
2016-04-10 12:46:18
阅读次数:
177
下面还有静态代理和动态代理 1.构造注入 lib包: 在entity包下新建一个实体类User 代码: 1 package cn.happy.entity; 2 3 public class User { 4 private Integer id; 5 private String name; 6 ...
分类:
其他好文 时间:
2016-04-09 16:53:58
阅读次数:
117
1.小型网站或网站前期:架构在一台服务器上2.web+DB3.负载均衡+WEB+WEB+WEB+DB4.负载均衡+负载均衡+WEB+WEB+WEB+DB+DB备份(同步DB)5.负载均衡+负载均衡+静态代理(squid/varnish)+WEB+WEB+WEB+DB6.负载均衡+负载均衡+静态代理( ...
分类:
Web程序 时间:
2016-04-07 20:45:15
阅读次数:
151