懵懵灯灯的BLOG
寒夜孤灯点点星
BlogJava
::
首页
::
新随笔
::
联系
::
聚合
::
管理
::
56 随笔 :: 10 文章 :: 22 评论 :: 0 Trackbacks
<
2008年2月
>
日
一
二
三
四
五
六
27
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
1
2
3
4
5
6
7
8
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
(2)
给我留言
查看公开留言
查看私人留言
随笔分类
CG_OpenGL/OpenInventor
(rss)
CG_X
(rss)
CS
(rss)
CS_Algorithm
(rss)
CS_Computing Theory
(rss)
Culture_History
(rss)
Culture_People
(rss)
Documentation
(rss)
Eclipse_GEF/EMF/GMF
(rss)
Eclipse_Platform
(rss)
Editor_Emacs(1)
(rss)
English(5)
(rss)
GUI_QT/GTK+
(rss)
IT_Trend(1)
(rss)
Language(2)
(rss)
Language_C/C++
(rss)
Language_Java(3)
(rss)
Language_Javascript
(rss)
Language_Lisp/CL/Schema
(rss)
Language_Lua(1)
(rss)
Language_Perl
(rss)
Language_XML
(rss)
Mathematics(1)
(rss)
MFC(3)
(rss)
Office Tips
(rss)
OS_Unix/Linix(3)
(rss)
OS_Windows(1)
(rss)
Quotation
(rss)
Reading(1)
(rss)
Software Engineer
(rss)
Software Engineer_Testing
(rss)
随笔档案
2012年6月 (1)
2008年11月 (1)
2008年7月 (1)
2008年6月 (4)
2008年5月 (2)
2008年4月 (6)
2008年3月 (5)
2008年2月 (4)
2008年1月 (3)
2007年12月 (9)
2007年11月 (4)
2007年10月 (1)
文章档案
2007年12月 (1)
2007年10月 (3)
2007年8月 (2)
2007年7月 (1)
2007年6月 (3)
2006年10月 (1)
2006年8月 (1)
收藏夹
test
(rss)
链接
八进制
(rss)
八进制的Blog给我很多启发
搜索
最新评论
1. re: [读书]计算科学导论 - 赵致琢 科学出版社
@wz
我复印图书馆的书:)
--mmmyddd
2. re: [读书]计算科学导论 - 赵致琢 科学出版社[未登录]
在哪可以下到这本书?
--wz
3. re: [JAVA]java.util.ResourceBundle使用
什么玩意
--等等等
4. re: [ZT]Dell1420笔记本的xp驱动下载
谢了
--啊
5. re: [ZT]Dell1420笔记本的xp驱动下载
找到太好了
--ll
阅读排行榜
1. [MFC] CListCtrl的LVS_EX_FULLROWSELECT风格(6614)
2. [ZT]Dell1420笔记本的xp驱动下载(3955)
3. [MFC] 如何enable/disable菜单项 (3025)
4. MS-DOS脚本编程[2]-变量定义和引用(2935)
5. [Lua]嵌入式脚本的使用(1954)
评论排行榜
1. [ZT]Dell1420笔记本的xp驱动下载(4)
2. 软件2.0概念全图,Java如何面对?(3)
3. [系列]程序设计语言(1)——序言(3)
4. SD2.0, 请继续防忽悠(2)
5. [读书]计算科学导论 - 赵致琢 科学出版社(2)
[Java] java.lang.reflect.Proxy 动态代理机制
1
import
java.lang.reflect.InvocationHandler;
2
import
java.lang.reflect.Method;
3
import
java.lang.reflect.Proxy;
4
5
6
public
class
MyProxy
{
7
8
public
static
void
main (String[] args)
{
9
BusinessInterface businessImpl
=
new
BusinessImpl();
10
11
InvocationHandler handler
=
new
LogHandler(businessImpl);
12
13
BusinessInterface proxy
=
(BusinessInterface) Proxy.newProxyInstance(
14
businessImpl.getClass().getClassLoader(),
15
businessImpl.getClass().getInterfaces(),
16
handler);
17
18
proxy.processBusiness();
19
20
}
21
}
22
23
interface
BusinessInterface
{
24
public
void
processBusiness();
25
}
26
27
class
BusinessImpl
implements
BusinessInterface
{
28
29
public
void
processBusiness()
{
30
//
TODO Auto-generated method stub
31
System.out.println(
"
Processing business logic
"
);
32
}
33
}
34
35
class
LogHandler
implements
InvocationHandler
{
36
37
private
Object delegate;
38
public
LogHandler(Object delegate)
{
39
this
.delegate
=
delegate;
40
}
41
42
public
Object invoke(Object proxy, Method method, Object[] args)
throws
Throwable
{
43
//
TODO Auto-generated method stub
44
Object o
=
null
;
45
try
{
46
System.out.println(
"
INFO Begin
"
);
47
o
=
method.invoke(delegate, args);
48
System.out.println(
"
INFO End
"
);
49
}
catch
(Exception e)
{
50
System.out.println(
"
INFO Exception
"
);
51
}
52
return
o;
53
}
54
}
这里用java.lang.reflect.Proxy实现动态代理类,在其中实现了在方法调用前和方法调用后的日志功能。
posted on 2008-02-27 12:50
懵懵灯灯
阅读(859)
评论(0)
编辑
收藏
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
Chat2DB
C++博客
博问
管理
Powered by:
BlogJava
Copyright © 懵懵灯灯