本文介紹了在Spring框架中,DAO和服務(wù)層到底是什么?的處理方法,對(duì)大家解決問(wèn)題具有一定的參考價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧!
問(wèn)題描述
什么是Spring框架中的DAO和服務(wù)層?
我在尋找理論上的答案。
推薦答案
就Spring而言沒(méi)有區(qū)別。按照慣例,您可以用@Repository
標(biāo)記DAO類,用@Service
標(biāo)記服務(wù)。前者還執(zhí)行一些持久層異常轉(zhuǎn)換。
因?yàn)槟诶碚撋蠁?wèn):DAO應(yīng)該執(zhí)行原始數(shù)據(jù)庫(kù)操作,并將它們轉(zhuǎn)換為一些更高級(jí)別的構(gòu)造(對(duì)象、集合)。服務(wù)應(yīng)該調(diào)用DAO并執(zhí)行業(yè)務(wù)操作。通常,事務(wù)劃分在服務(wù)層上執(zhí)行,以跨越多個(gè)DAO調(diào)用。
最后,DAO應(yīng)該從持久化細(xì)節(jié)中抽象業(yè)務(wù)邏輯,理想情況下允許在不更改業(yè)務(wù)邏輯(服務(wù))的情況下切換持久化層。這幾乎是不可能的,因?yàn)?em>泄露了持久性提供程序的抽象(例如,延遲加載)。
這篇關(guān)于在Spring框架中,DAO和服務(wù)層到底是什么?的文章就介紹到這了,希望我們推薦的答案對(duì)大家有所幫助,