Faces-Seaward
BlogJava
首頁
新隨筆
聯(lián)系
聚合
管理
隨筆檔案
2011年12月 (2)
最新隨筆
1.?編碼總結(jié)(圖片)
2.?JDK動(dòng)態(tài)代理(自我總結(jié))
最新評(píng)論
JDK動(dòng)態(tài)代理(自我總結(jié))
Posted on 2011-12-19 16:32
胥子
閱讀(167)
評(píng)論(0)
編輯
收藏
實(shí)現(xiàn)步驟:
1.新建生成動(dòng)態(tài)代理對(duì)象類,實(shí)現(xiàn)java.lang.reflect.InvocationHandler接口。
2.新建一個(gè)方法用與生成代理對(duì)象并返回對(duì)象。
3.實(shí)現(xiàn)接口方法invoke,這也是切面處理的核心操作地。
-------上層接口
public
interface
Service
{
void
doService(String name);
}
-----接口實(shí)現(xiàn)
public
class
ServiceImpl
implements
Service
{
@Override
public
void
doService(String name )
{
System.out.println(
"
hello
"
+
name);
}
}
-------實(shí)現(xiàn)InvocationHandler接口的類
public
class
ServiceDynamicProxy
implements
InvocationHandler
{
private
Object targetObject ;
//
把要代理的類傳進(jìn)去
public
Object createProxy(Object targetObject)
{
this
.targetObject
=
targetObject ;
return
Proxy.newProxyInstance(targetObject.getClass().getClassLoader(),
targetObject.getClass().getInterfaces(),
this
);
}
//
invoke方法會(huì)自動(dòng)調(diào)用,切面處理
@Override
public
Object invoke(Object proxy, Method method, Object[] args)
throws
Throwable
{
checkSecurity();
System.out.println(proxy.getClass().getName());
Object result
=
null
;
result
=
method.invoke(
this
.targetObject,args);
return
result;
}
public
void
checkSecurity()
{
System.o ut.println(
"
check the security
"
);
}
}
-------測試類
public
class
DynamicProxyClient
{
public
static
void
main(String[] args)
{
ServiceDynamicProxy dynamicProxy
=
new
ServiceDynamicProxy();
Service service
=
(Service)dynamicProxy.createProxy(
new
ServiceImpl());
service.doService(
"
xuyiyu
"
);
}
}
新用戶注冊
刷新評(píng)論列表
只有注冊用戶
登錄
后才能發(fā)表評(píng)論。
網(wǎng)站導(dǎo)航:
博客園
IT新聞
Chat2DB
C++博客
博問
管理
常用鏈接
我的隨筆
我的評(píng)論
我的參與
framework
框架(表現(xiàn)層、持久層、業(yè)務(wù)層)
為了實(shí)現(xiàn)web層(struts)和持久層(Hibernate)之間的松散耦合,我們采用業(yè)務(wù)代表(Business Delegate)和DAO(Data Access Object)兩種模式。DAO模式為了減少業(yè)務(wù)邏輯和數(shù)據(jù)訪問邏輯之間的耦合,當(dāng)一個(gè)持久曾框架被應(yīng)用時(shí),該模式將會(huì)減少業(yè)務(wù)對(duì)象和該框架之間的耦合,這樣我們可以不修改業(yè)務(wù)對(duì)象而選擇不同的持久層框架的實(shí)現(xiàn)。實(shí)際上在DAO模式中包含兩種結(jié)構(gòu)模式:橋(Bridge)模式和適配器(Adaptor)模式。
jsp,servlet
java 亂碼解決
1)所有頁面的charset設(shè)置為UTF-8。 2)Tomcat的URIEncoding默認(rèn)是ISO-8859-1,而我設(shè)置為UTF-8,主要是想解決中文命名的文件以及請求以get方式提交有可能出現(xiàn)的亂碼問題。 3)添加過濾器,調(diào)用request.setCharacterEncoding("utf-8")方法將request的字符集設(shè)定為utf-8,解決請求以post方式提交的亂碼問題。 4)url地址中存在中文參數(shù)時(shí),首先對(duì)中文參數(shù)使用URLEcoder編碼為utf-8,然后在request.getParameter("")接收到參數(shù)后再使用URLDecoder還原。
評(píng)論排行榜
1.?編碼總結(jié)(圖片)(0)
2.?JDK動(dòng)態(tài)代理(自我總結(jié))(0)
閱讀排行榜
1.?JDK動(dòng)態(tài)代理(自我總結(jié))(167)
2.?編碼總結(jié)(圖片)(106)
posts - 2, comments - 0, trackbacks - 0, articles - 0
Copyright © 胥子
主站蜘蛛池模板:
爱情岛论坛网亚洲品质自拍
|
国产免费牲交视频
|
亚洲自偷自偷精品
|
91精品手机国产免费
|
久久精品国产亚洲av麻豆小说
|
2022免费国产精品福利在线
|
免费A级毛片无码A∨男男
|
香蕉视频亚洲一级
|
内射无码专区久久亚洲
|
japanese色国产在线看免费
|
亚洲熟妇无码AV在线播放
|
久草福利资源网站免费
|
亚洲短视频在线观看
|
亚洲精品成a人在线观看
|
黄色网页免费观看
|
亚洲无线观看国产精品
|
久久久久久影院久久久久免费精品国产小说
|
亚洲AV永久无码精品水牛影视
|
三年片在线观看免费观看大全一
|
亚洲精品熟女国产
|
搡女人免费视频大全
|
全部一级一级毛片免费看
|
国产亚洲av片在线观看16女人
|
亚洲日本在线免费观看
|
亚洲成a∧人片在线观看无码
|
久久久亚洲AV波多野结衣
|
日韩一区二区a片免费观看
|
日韩亚洲人成在线综合
|
亚洲精品国产精品乱码不99
|
亚洲w码欧洲s码免费
|
亚洲成AV人影片在线观看
|
黑人大战亚洲人精品一区
|
2019中文字幕在线电影免费
|
www国产亚洲精品久久久日本
|
免费久久人人爽人人爽av
|
亚洲国产模特在线播放
|
国产一区二区三区免费在线观看
|
两个人看的www免费
|
亚洲AV无码国产精品色
|
中文字幕亚洲天堂
|
久久精品a一国产成人免费网站
|