課程
/后端開發(fā)
/Java
/JDBC之 “ 對(duì)岸的女孩看過(guò)來(lái)”
Dao 層 能不能用靜態(tài)寫?這樣控制層 調(diào)用的時(shí)候就不用每次都要new 一個(gè)dao層了
2017-03-15
源自:JDBC之 “ 對(duì)岸的女孩看過(guò)來(lái)” 2-7
正在回答
DAO?采用靜態(tài)方法的話有好處,也有壞處。
做成靜態(tài)方法的話,完全把?DAO?想成一個(gè)工具類了。一般來(lái)說(shuō)工具類是與具體的業(yè)務(wù)性質(zhì)無(wú)關(guān)的,存放的是一些工具方法,在任何程序中都有可能用到的東西。做成靜態(tài)方法的話,讓業(yè)務(wù)層與?DAO?層完全耦合起來(lái)了,如果?DAO?在技術(shù)更新后需要采用其他的ORM?工具重新實(shí)現(xiàn)的話,這樣一來(lái)根本就不可能另外再實(shí)現(xiàn)一個(gè)?DAO?類,只能在原始的?DAO?類中更改,要么就需要更改業(yè)務(wù)類中的代碼,如果項(xiàng)目很大的話,這個(gè)工作量是非常驚人的。靜態(tài)?DAO?方法,在事務(wù)上下文中會(huì)存在問(wèn)題,沒(méi)辦采用聲明式事務(wù)進(jìn)行管理(比如:Spring?中或者是?EJB?中的),因?yàn)槁暶魇绞聞?wù)處理需要采用動(dòng)態(tài)代理方式進(jìn)行事務(wù)上下文的切入,由于不存在DAO?對(duì)象,因此也不存在代理對(duì)象,也沒(méi)辦法使用聲明式事務(wù),只能手工處理。如果一個(gè)業(yè)務(wù)邏輯調(diào)用多個(gè)?DAO?方法的話,在這種事務(wù)上下文環(huán)境中,如果靠手工處理事務(wù)那會(huì)是非常繁鎖,而且將事務(wù)邏輯侵入到了業(yè)務(wù)層中。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?以上均轉(zhuǎn)載自 : http://bbs.csdn.net/topics/310103844
?????????????????????????????????????????????????????????強(qiáng)烈建議??!!有問(wèn)題或者提問(wèn)之前先去找度娘或者谷哥
舉報(bào)
一起領(lǐng)略JDBC的奧秘,為進(jìn)一步學(xué)習(xí)集成框架打下良好的基礎(chǔ)
3 回答這個(gè)控制層就這點(diǎn)代碼,直接寫在dao層不是更方便?
1 回答關(guān)于視頻里出現(xiàn)的幾個(gè)靜態(tài)塊及靜態(tài)變量?
2 回答為什么我的Goddess類不能在Dao類里面實(shí)例化
2 回答為什么在這里要用一個(gè)靜態(tài)方法?
2 回答為什么不把DAO層的實(shí)例化對(duì)象寫在總的方法的外面 這樣不是可以少寫代碼嗎 不用每一次都去實(shí)例化對(duì)象
Copyright ? 2025 imooc.com All Rights Reserved | 京ICP備12003892號(hào)-11 京公網(wǎng)安備11010802030151號(hào)
購(gòu)課補(bǔ)貼聯(lián)系客服咨詢優(yōu)惠詳情
慕課網(wǎng)APP您的移動(dòng)學(xué)習(xí)伙伴
掃描二維碼關(guān)注慕課網(wǎng)微信公眾號(hào)
2017-03-15
DAO?采用靜態(tài)方法的話有好處,也有壞處。
做成靜態(tài)方法的話,完全把?DAO?想成一個(gè)工具類了。一般來(lái)說(shuō)工具類是與具體的業(yè)務(wù)性質(zhì)無(wú)關(guān)的,
存放的是一些工具方法,在任何程序中都有可能用到的東西。
做成靜態(tài)方法的話,讓業(yè)務(wù)層與?DAO?層完全耦合起來(lái)了,如果?DAO?在技術(shù)更新后需要采用其他的
ORM?工具重新實(shí)現(xiàn)的話,這樣一來(lái)根本就不可能另外再實(shí)現(xiàn)一個(gè)?DAO?類,只能在原始的?DAO?類中
更改,要么就需要更改業(yè)務(wù)類中的代碼,如果項(xiàng)目很大的話,這個(gè)工作量是非常驚人的。
靜態(tài)?DAO?方法,在事務(wù)上下文中會(huì)存在問(wèn)題,沒(méi)辦采用聲明式事務(wù)進(jìn)行管理(比如:Spring?中或
者是?EJB?中的),因?yàn)槁暶魇绞聞?wù)處理需要采用動(dòng)態(tài)代理方式進(jìn)行事務(wù)上下文的切入,由于不存在
DAO?對(duì)象,因此也不存在代理對(duì)象,也沒(méi)辦法使用聲明式事務(wù),只能手工處理。
如果一個(gè)業(yè)務(wù)邏輯調(diào)用多個(gè)?DAO?方法的話,在這種事務(wù)上下文環(huán)境中,如果靠手工處理事務(wù)那會(huì)是
非常繁鎖,而且將事務(wù)邏輯侵入到了業(yè)務(wù)層中。
? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?以上均轉(zhuǎn)載自 : http://bbs.csdn.net/topics/310103844
?????????????????????????????????????????????????????????強(qiáng)烈建議??!!有問(wèn)題或者提問(wèn)之前先去找度娘或者谷哥