Java代理系列-静态代理
2015-12-02 07:36
513 查看
代理模式可以做很多事,像hibernate,spring都使用了代理模式。
spring的aop就是用代理做的。
本系列分为4章,静态代理,动态代理热身,动态代理,cglib代理
今天先写一写静态代理
本例目的是在要调用的方法前后输出start和end,会使用四个类
接口HelloInterface
接口实现类HelloInterfaceImpl
静态代理类HelloStaticProxy
测试类HelloTest
首先写一个接口HelloInterface,定义一个say方法
实现接口HelloInterfaceImpl,打印Hello
代理类HelloStaticProxy实现,在代理的方法内加前后环绕,是不是很像AOP
编写测试类HelloTest
输出结果
静态代理呢,使用的不是太多,主要是当你要修改接口或者其他方法时要修改代理类实现类等好多方法,好麻烦
下一章主要写写动态代理前需要知道的知识
才疏学浅,如有错误敬请指出,谢谢。
spring的aop就是用代理做的。
本系列分为4章,静态代理,动态代理热身,动态代理,cglib代理
今天先写一写静态代理
本例目的是在要调用的方法前后输出start和end,会使用四个类
接口HelloInterface
接口实现类HelloInterfaceImpl
静态代理类HelloStaticProxy
测试类HelloTest
首先写一个接口HelloInterface,定义一个say方法
package net.hldh.river.staticproxy; /** * Created by liuhj on 2015/12/1. */ public interface HelloInterface { public void say(); }
实现接口HelloInterfaceImpl,打印Hello
package net.hldh.river.staticproxy; /** * Created by liuhj on 2015/12/1. */ public class HelloInterfaceImpl implements HelloInterface { @Override public void say() { System.out.println("Hello"); } }
代理类HelloStaticProxy实现,在代理的方法内加前后环绕,是不是很像AOP
package net.hldh.river.staticproxy; /** * Created by liuhj on 2015/12/1. */ public class HelloStaticProxy{ //spring 依赖注入?类似吧 private HelloInterface helloInterface; public HelloStaticProxy(HelloInterface helloInterface){ this.helloInterface = helloInterface; } public void say_proxy(){ System.out.println("start"); helloInterface.say(); System.out.println("end"); } }
编写测试类HelloTest
package net.hldh.river.staticproxy; /** * Created by liuhj on 2015/12/1. */ public class HelloTest { public static void main(String args[]){ HelloStaticProxy proxy = new HelloStaticProxy(new HelloInterfaceImpl()); proxy.say_proxy(); } }
输出结果
start Hello end
静态代理呢,使用的不是太多,主要是当你要修改接口或者其他方法时要修改代理类实现类等好多方法,好麻烦
下一章主要写写动态代理前需要知道的知识
才疏学浅,如有错误敬请指出,谢谢。
相关文章推荐
- 二级域名原理以及程序
- 一根网线内的8根线哪4根是传输数据的,哪四根是防干扰的
- TCP三次握手及原理
- jQuery中的pushStack实现原理和应用实例
- sqlserver索引的原理及索引建立的注意事项小结
- php中的ini配置原理详解
- jquery原理以及学习技巧介绍
- PHP strtotime函数用法、实现原理和源码分析
- 动态代理的5模式使用示例和Mixin模式
- Base64编码解码原理及C#编程实例
- IsPostBack原理的介绍
- jQuery中noconflict函数的实现原理分解
- MySQL主从同步原理介绍
- 关于Ajax技术原理的3点总结
- 谈谈Ajax原理实现过程
- java实现动态代理示例分享
- ajax 技术和原理分析
- java使用动态代理来实现AOP(日志记录)的实例代码
- java利用反射实现动态代理示例
- Java实现动态代理