Spring數(shù)據(jù)訪問模板化方法
在讀《Spring in Action》一書,讀到Spring數(shù)據(jù)訪問模板化的內(nèi)容時,書中以乘坐飛機拖運行李為例,介紹了模板方法這一設(shè)計模式。
在乘坐飛機需要拖運行李時,我們需要需要進行行李登記。然后,將行李交給工作人員,工作人員會對行李進行稱重,安全掃描檢查,然后通過傳送帶將行李傳送到擺渡車。擺渡車載上行李,將行李拉到飛機。到達目的地后,擺渡車會將行李從飛機上拉到取行李處,然后乘客取走自己的行李。
查看整個過程,這個過程對于所有乘客基本都是相同的。對不同乘客不一樣的地方,是登記行李時需要各個乘客參與,稱重后繳費時需要乘客參與,到達目的地后取走行李時需要乘客參與。除此之外,整個過程無需乘客參與,是不變的部分。
把上述場景抽象一下,就是模板方法這一設(shè)計模式。模板方法設(shè)計模式定義過程的架構(gòu)。整個過程中不變的部分在父類中定義,過程中需要改變的部分,交由各個子類來實現(xiàn)。這樣,對于具體業(yè)務邏輯來說,實現(xiàn)整個過程,只需要開發(fā)需要變化的部分,即各個子類的邏輯即可,而不用寫大量的固定不變的代碼。
在Spring訪問數(shù)據(jù)庫中的數(shù)據(jù)時,同樣適用模板方法。

我們使用JDBC來訪問數(shù)據(jù)庫的數(shù)據(jù)時,大致的處理過程為,打開一個連接,開始事務,執(zhí)行SQL,獲取返回的數(shù)據(jù),提交事務,關(guān)閉資源,異常處理等。在訪問各個數(shù)據(jù)時,打開連接,開始事務,提交事務,關(guān)閉資源,異常處理等過程都是不變的,沒有必要在每次訪問數(shù)據(jù)時都把上述邏輯寫一遍。每次訪問數(shù)據(jù)時,我們應該專注于執(zhí)行的SQL以及獲取返回的數(shù)據(jù)。所以,可以使用模板方法這一設(shè)計模式,來優(yōu)化這塊的代碼結(jié)構(gòu)。
總結(jié)
以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請查看下面相關(guān)鏈接
相關(guān)文章
Java中遍歷Map的多種方法示例及優(yōu)缺點總結(jié)
在java中遍歷Map有不少的方法,下面這篇文章主要給大家介紹了關(guān)于Java中遍歷Map的多種方法,以及各種方法的優(yōu)缺點總結(jié),文中通過示例代碼介紹的非常詳細,對大家具有一定的參考學習價值,需要的朋友們下面來一起看看吧。2017-07-07

