小小程序員
BlogJava
|
首頁
|
發(fā)新隨筆
|
發(fā)新文章
|
|
|
管理
最簡單的動態(tài)代理實(shí)例(spring基于接口代理的AOP原理)
JDK的動態(tài)代理是基于接口的
package
?com.open.aop;
public
?
interface
?BusinessInterface?
{
????
public
?
void
?processBusiness();
}
目標(biāo)對象
package
?com.open.aop;
public
?
class
?BusinessObject?
implements
?BusinessInterface?
{
????
public
?
void
?processBusiness()?
{
????????System.out.println(
"
action
"
);
????}
}
代理對象
package
?com.open.aop;
import
?java.lang.reflect.InvocationHandler;
import
?java.lang.reflect.Method;
import
?java.lang.reflect.Proxy;
public
?
class
?LogHandler?
implements
?InvocationHandler?
{
????
private
?Object?delegate;
????
public
?Object?binder(Object?delegate)?
{
????????
this
.delegate
=
delegate;
????????
return
?Proxy.newProxyInstance(delegate.getClass().getClassLoader(),
????????????????delegate.getClass().getInterfaces(),
this
);
????}
????
public
?Object?invoke(Object?proxy,?Method?method,?Object[]?args)
????????????
throws
?Throwable?
{
????????Object?obj?
=
?
null
;
????????System.out.println(
"
對象方法調(diào)用前
"
);
????????
try
?
{
????????????obj?
=
?method.invoke(delegate,?args);
????????}
?
catch
?(Exception?e)?
{
????????}
????????System.out.println(
"
對象方法調(diào)用后
"
);?
????????
return
?obj;
????}
}
測試類
package
?com.open.aop;
import
?java.lang.reflect.InvocationHandler;
import
?java.lang.reflect.Proxy;
public
?
class
?Test?
{
????
public
?
static
?
void
?main(String[]?args)?
{
????????BusinessInterface?bi?
=
?(BusinessInterface)?
new
?LogHandler()
????????????????.binder(
new
?BusinessObject());
????????bi.processBusiness();
????}
}
輸出結(jié)果
對象方法調(diào)用前
action
對象方法調(diào)用后
發(fā)表于 2006-06-09 10:20
~小Q
閱讀(1646)
評論(1)
編輯
收藏
所屬分類:
『
Spring
』
評論
#
re: 最簡單的動態(tài)代理實(shí)例(spring基于接口代理的AOP原理)
挺不錯(cuò) 簡單易懂
凝固
評論于 2007-10-05 10:49
回復(fù)
更多評論
新用戶注冊
刷新評論列表
只有注冊用戶
登錄
后才能發(fā)表評論。
網(wǎng)站導(dǎo)航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
相關(guān)文章:
圖解spring mvc
Quartz的cron表達(dá)式
在spring利用javamail,quartz定時(shí)發(fā)送郵件
spring對java遠(yuǎn)程調(diào)用的簡化(三)之HTTPinvoker
spring對java遠(yuǎn)程調(diào)用的簡化(二)之Hessian,Burlap
spring對java遠(yuǎn)程調(diào)用的簡化(一)之RMI
spring中事務(wù)的屬性
事務(wù)的特點(diǎn)以及spring提供事務(wù)管理器的簡介
ProxyFactoryBean屬性介紹
spring中基礎(chǔ)核心接口介紹
<
2006年6月
>
日
一
二
三
四
五
六
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
30
1
2
3
4
5
6
7
8
公告
spring-誰與爭鋒
常用鏈接
我的隨筆
我的文章
我的評論
我的參與
最新評論
留言簿
(4)
給我留言
查看公開留言
查看私人留言
隨筆分類
『
eclipse
』(2)
(rss)
『
Flash
』(1)
(rss)
『
JavaScript
』(1)
(rss)
『
Maven
』(1)
(rss)
『
Spring
』(17)
(rss)
『
springside
』(1)
(rss)
『
匯編
』(4)
(rss)
『
計(jì)劃
』(1)
(rss)
相冊
spring
Blog
論壇
積分與排名
積分 - 62778
排名 - 842
最新評論
1.?re: 在spring利用javamail,quartz定時(shí)發(fā)送郵件[未登錄]
感覺不錯(cuò)嗎、
--xiaoxiao
2.?re: JavaScript中的arguments,callee,caller,call,appy
不錯(cuò)啊
--artwl
3.?re: JavaScript中的arguments,callee,caller,call,appy[未登錄]
注意,arguments[0] 是對的。arguments是一個(gè)Object。
--你好
4.?re: JavaScript中的arguments,callee,caller,call,appy
評論內(nèi)容較長,點(diǎn)擊標(biāo)題查看
--zhangsir199
5.?re: Maven的eclipse插件使用的flash教程[未登錄]
除了插件是真的之外,其他怎么全是假的?
--王子
Powered by:
博客園
模板提供:
滬江博客
Copyright ©2025 ~小Q
主站蜘蛛池模板:
亚洲国产精品成人综合久久久
|
亚洲国产精品成人AV在线
|
四虎免费影院ww4164h
|
亚洲日韩看片无码电影
|
中文字幕在线亚洲精品
|
最近中文字幕免费2019
|
精品亚洲视频在线
|
久久久久亚洲精品成人网小说
|
一级特黄aa毛片免费观看
|
亚洲videos
|
久久亚洲国产精品123区
|
精品无码免费专区毛片
|
免费的黄色的网站
|
91亚洲一区二区在线观看不卡
|
日韩中文字幕在线免费观看
|
男女作爱在线播放免费网站
|
亚洲国产成人无码AV在线影院
|
亚洲精品国产精品乱码不卡√
|
成人毛片视频免费网站观看
|
国产成人高清精品免费观看
|
亚洲剧场午夜在线观看
|
中文字幕精品无码亚洲字
|
国产在线观看免费观看不卡
|
97在线视频免费公开视频
|
亚洲精品自偷自拍无码
|
久久亚洲精品国产精品
|
亚洲国产精品成人久久蜜臀
|
成人免费在线看片
|
国产情侣久久久久aⅴ免费
|
国产精品亚洲精品日韩动图
|
久久亚洲最大成人网4438
|
亚洲精品无码不卡
|
亚洲精品无码你懂的网站
|
在线免费观看a级片
|
18以下岁毛片在免费播放
|
99精品全国免费观看视频..
|
亚洲sm另类一区二区三区
|
亚洲成a人片77777群色
|
亚洲成AV人片在线观看WWW
|
在线亚洲人成电影网站色www
|
四虎永久在线精品免费影视
|