Spring DAO層的設計思想

Spring DAO層的設計思想

雖然Spring定義了如斯豐碩的非常類,作爲開辟人員,我們僅需要對感樂趣的非常進行處置就能夠了。假設某一個項目要求在發生樂觀鎖非常時,測驗考試再次獲取樂觀鎖非不是間接前往錯誤。那麽,我們只需要在代碼中顯式捕獲ConcurrencyFailureException非常,然後在catch代碼塊中編寫滿足需求的邏輯即可。其它浩繁的非常則能夠簡單地交由框架主動處置(如發生運轉期非常時主動回滾事務)。

表1SpringDAO非常系統類

SpringDAO非常系統類很是豐碩,這裏,我們僅列出DataAccessException非常類下的子類。我們能夠很容易地通過非常類的名字領會到非常所代表的語義。我們通過下表對這些非常進行簡單的描述:

圖3一級非常類的細化

對于InvalidDataAccessResourceUsageException非常,分歧的持久化實現手藝均有對應的子非常類。如BadSqlGrammarException對應JDBC實現手藝SQL語句語法錯誤的非常,而HibernateQueryExcpetion和TopLinkQueryException別離對應Hibernate和TopLink實現手藝的查詢語法非常。

Spring的這個非常系統具有高度的可擴展性,當Spring需要對一個新的持久化手藝供給支撐時,只需定義爲其定義一個對應的子非常就能夠了,這種更改完全滿足設想模式中的開-閉准繩。刷卡換現流程刷卡換現金如何刷卡換現金申請刷卡換現金

Comments are closed.