請教乙個Spring和DAO的問題。

2021-08-29 11:51:24 字數 1328 閱讀 8604

最近專案在整架構。要把以前的struts+ibatis+dao.換成現在的struts+ibatis+dao+spring.

於是最近猛啃了下spring的書。現在專案新架構的框架出來了,我發現,現在多了一層service層。以前是用蒙面類(tableoperato***cadebean)來呼叫dao介面的實現類,現在變成通過呼叫service介面,然後在這個介面的實現類中去呼叫dao的實現類。。。

限於初學知識不夠,始終沒弄明白這層是為什麼出現,以及它都能做寫什麼。。。

請哪位指點一下。

附上部分**,大概問題沒描述清楚。

public class loginaction extends action

public void setuserinfoservice(iuserinfoservice userinfoservice)

loginaction中對資料層的操作現在是:

resuserinfo = userinfoservice.getlogininfo(userinfo);

userinfoserviceimpl:

public class userinfoserviceimpl implements iuserinfoservice 

public void setuserinfodao(iuserinfodao userinfodao)

public userinfobean getlogininfo(userinfobean userinfo) catch (exception e)

userinfodaoimpl :

public class userinfodaoimpl extends sqlmapclientdaosupport implements iuserinfodao

以前就是在action中,直接:

tableoperato***cadebean tofb = new tableoperato***cadebean();

resuserinfo = tofb.getlogininfo(userinfo);

我的理解是,使用依賴注入,就是為了減少action對操作運算元據庫部分的依賴。使用dao也是使action不直接呼叫對資料庫呼叫的**。其實一樣是減少了依賴。那麼這裡是不是直接依賴注入dao的介面就可以了?何必還要多出這個service層?

不知道自己的想法和理解對不對,希望熟悉這方面的人能多指點一下。謝謝!

乙個簡單的dao設計

最近把框架裡的資料庫連線池做好了,整個dao差不多也算完成了 因為懶,所以部分資料庫驅動還沒寫 整個dao由連線物件和解析驅動兩個部分組成,大概就是下面這個樣子 連線物件主要實現如下方法 解析器的作用是將操作狀態轉化為sql語句,主要實現以下功能 其中insert,update,query,dele...

乙個AJAX翻譯問題的請教

原文 s built from the beginning to consume data and not 我的譯文 ajax web應用相對於標準的桌面應用其乙個主要的好處在於它構建的初衷是消費資料而不是消費文件 譯註 這裡 消費 是指訪問和顯示資料,文件 是指傳統桌面的文件,例如 word,pd...

請教乙個頁面快取的問題

快取,可以通過各種方式來完成。對於快取的 工作已經完成了,但有乙個方案的問題請教一下園友們。乙個 有多個頁面,多個頁面有可能會展示同乙個產品資訊,我舉個例子吧。如xx 的首頁面的某一小塊,如下圖 這裡有一系列的筆記本資訊,而點選某一項進入詳細頁面 我們把首頁那一塊的展示用乙個方法去完成,假設這個方法...