动态代理:
package com.test.dynamicproxy;
/**
* 抽象角色
* @author Administrator
*
*/
public interface Business {
public String goCity();
}
----------------------------------
package com.test.dynamicproxy;
/***
* 真实角色
* @author Administrator
*
*/
public class BusinessImpl implements Business {
@Override
public String goCity() {
System.out.println("去南京 ,怎么去。。。。。。");
return "businessImpl 真实角色的返回值。。。。。。。。。。。。。。。。。。。。。";
}
}
--------------------------------------
package com.test.dynamicproxy;
import java.lang.reflect.InvocationHandler;
import java.lang.reflect.Method;
import java.lang.reflect.Proxy;
public class BusinessImplProxy implements InvocationHandler {
private Object obj;
public BusinessImplProxy() {
}
public BusinessImplProxy(Object obj) {
this.obj = obj;
}
@Override
public Object invoke(Object proxy, Method method, Object[] args)
throws Throwable {
Object result = null;
doBefore();
result = method.invoke(obj, args);
doAfter();
return result;
}
public static Object getRealFactory(Object obj) {
return Proxy.newProxyInstance(obj.getClass().getClassLoader(), obj
.getClass().getInterfaces(), new BusinessImplProxy(obj));
}
public void doBefore(){
System.out.println("dobefore....................");
}
public void doAfter(){
System.out.println("doAfter....................");
}
}
-----------------------------------------------------
package com.test.dynamicproxy;
import org.junit.Test;
import junit.framework.TestCase;
public class JunitTest extends TestCase {
@Test
public void testDynamicProxy(){
BusinessImpl b = new BusinessImpl();
Business business = (Business)BusinessImplProxy.getRealFactory(b);
String tmp = business.goCity();
System.out.println("result:"+tmp+"");
}
}
- 描述: UML图
- 大小: 69.9 KB
分享到:
相关推荐
- LH0002:-55°C 至 +125°C(军用级) - LH0002C:0°C 至 +85°C(商用级) - **封装形式**: - 8 引脚 TO-99 封装 - 10 引脚双列直插式封装 (DIP) - **绝对最大额定值**: - 电源电压:±22V - 功耗:...
《T/SCSDX 0002-2021 川标(2021版)补充协议》是针对四川省地方标准的一项重要修订,主要涉及行驶记录仪的功能和数据格式规范。该补充协议旨在提升行驶记录仪的智能化和安全性,强化驾驶员行为监测和驾驶辅助功能。...
然而,任何复杂的机械设备都可能出现故障,今天我们将深入探讨一个常见的问题——报错代码E000075-0002_03_04_05_06_0103,这是一个与转印组件故障相关的错误。 转印组件是彩色激光打印机的核心部分,它的主要职责...
《昆仑通态MCGS嵌入版7.5(03.0002):专为高端工业设备打造的可视化软件》 昆仑通态MCGS嵌入版7.5(03.0002)是一款专为1162Hi/1262Hi/1561Hi产品设计的高级可视化软件,它集成了丰富的功能和高效的性能,旨在为工业...
《昆仑通态MCGS嵌入版7.5(03.0002)简装版解析》 昆仑通态MCGS嵌入版7.5(03.0002)是一款专为工业自动化领域设计的监控与组态软件,其简化安装包针对特定硬件设备进行了优化,主要服务于1162Hi/1262Hi/1561Hi产品用户...
这款路由器搭载了H3C的最新官方固件E0002P01,不仅在性能上有所提升,还默认包含了4个AP的授权,满足了小型企业初期的无线网络部署需求。 一、产品特性: 1. 内置AC功能:H3C MSR 930-WiNet路由器的一大亮点就是...
然而,像所有机械设备一样,它们可能会遇到各种故障,其中E075-0002_03_04_05_06_0103错误代码特指转印组件故障,这是一个常见问题,可能导致打印质量下降或机器无法正常工作。 转印组件在彩色激光复印机中扮演着至...
MS12-020(CVE-2012-0002) Exploit 3389远程溢出漏洞代码
Crossfire20081207_0002.bmp
GMT 0002-2012 SM4分组密码算法.pdf
- 技术情报编号:E840-0002 - 发布时间:2012年12月24日 - 制作与审核人员:路洋、刘瑛璐 ### 故障现象 - 故障描述:在复印机运转过程中,上定影组件内的止动垫圈可能发生脱落或损坏。 - 故障代码:E840-0002,通常...
《调试器与工具:x64_en-us v6.12.0002.633 AMD64深入解析》 在IT行业中,调试器和相关工具是开发者的重要武器,它们能帮助我们识别和修复代码中的错误,提高软件的质量和稳定性。"Debuggers And Tools-x64_en-us v...
次文档为GMT 0002-2012 SM4分组密码算法pdf版本,清晰度高
C#例子代码 A0002_AssertC#例子代码 A0002_AssertC#例子代码 A0002_AssertC#例子代码 A0002_AssertC#例子代码 A0002_AssertC#例子代码 A0002_AssertC#例子代码 A0002_AssertC#例子代码 A0002_AssertC#例子代码 A0002...
TSG\TSG G0002-2010 锅炉节能技术监督管理规程
0002机械配件制造销售公司修正版源码0002机械配件制造销售公司修正版源码0002机械配件制造销售公司修正版源码0002机械配件制造销售公司修正版源码0002机械配件制造销售公司修正版源码0002机械配件制造销售公司修正版...
JR T 0002-2001 银行磁条卡自动柜员机ATM应用规范.pdf
西门子 1LE0002 变频调速三相异步电动机 样本zip,提供“西门子 1LE0002 变频调速三相异步电动机 样本”免费资料下载,主要介绍产品的机械特性、电气特性、外形尺寸、技术数据表、附件等,可供选型参考。