大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學習攻略 Java學習 學習Java框架,從Spring框架中的三種最佳實踐

學習Java框架,從Spring框架中的三種最佳實踐

更新時間:2019-08-10 09:00:00 來源:動力節點 瀏覽2797次

image.png

  毫無疑問,Spring框架是最流行的Java框架之一,通過提供依賴注入和控制反轉等特性,可以輕松創建企業級Java應用程序。


  但是,老實說,Spring不僅僅是另一個DI和IOC框架。通過提供一個有用的抽象層,它進一步簡化了許多Java的api,例如JDBC、JMS、JavaMail等等。它們消除了Java開發人員在執行SQL語句和處理結果集以獲得他們想要的Java對象時所面臨的大部分困難。


  因此,當您學習Spring時,不僅要學習如何使用它,還要學習如何用Java和面向對象方式編寫更好的代碼。


  在這篇文章中,小編將分享學習Spring過程中發現的一些最佳實踐,主要是通過閱讀CraigWalls的經典動作書籍《SpringInAction》和在使用Spring過程中的體驗。


  CodingforInterfaces面向接口的編程


  這是我第一次讀HeadfirstDesignPatterns時學到的一個老的OOP指導原則。這個OOP設計原則的主要目的是減少兩個類之間的耦合,從而增加靈活性。


  Spring嚴格遵循這個面向對象的指導方針,并且經常公開一個接口來使用關鍵類,例如創建JdbcOperation接口來利用JdbcTemplate。這種做法可以讓不同層之間松散耦合。


  另一個很好的例子是緩存接口,它用于提供緩存。所有其他的緩存實現,例如EhCache、ConcurrentMapCache和NoOpCache等,都實現了這個接口。


  如果您的代碼依賴于緩存接口而不依賴于任何特定的實現,那么您可以切換緩存提供者而不會影響代碼的其他部分。


  下面是使用集合框架為Java中的接口編寫代碼的簡單示例。如果您仔細觀察,在這個示例中,我使用了接口而不是實現來聲明Java中的變量、參數和返回方法類型。

image.png

  這種編碼風格是靈活的,在將來更容易進行擴展。


  偏愛unchecked的異常勝過checked異常


  如果您已經使用了Spring框架,那么您就會注意到Spring更傾向于不檢查的異常,而不是檢查過的異常,最好的例子就是SpringJDBC。


  Spring有豐富的異常層次結構來描述連接和從數據庫檢索數據時可以獲得的不同錯誤,但是它們的根是DataAccessException,這是未檢查的。


  Spring認為,大多數錯誤都源于在catch塊中無法糾正的原因,因此它將捕獲異常的決定留給開發人員,而不是像Java那樣強制他們進入異常。其結果是更簡潔的代碼,沒有空的catch塊——以及更少的try-catch塊。


  在處理Java中的錯誤和異常時,這也是最佳實踐之一。


  使用模板方法設計模式


  Spring大量使用模板方法設計模式來簡化事情。這方面的一個很好的例子是JdbcTemplate,它在使用JDBCAPI時省去了很多麻煩。您只需要定義它需要什么,Spring就會處理流程的其余部分。


  如果您不知道,模板模式定義了一個流程或算法,在這個過程或算法中,您無法更改流程,但同時,您可以根據需要定制步驟。


  例如,在處理JDBC時,可以使用JdbcTemplate來執行查詢并獲取所需的對象。您只需要提供SQL,它在每種情況下都是不同的,以及映射邏輯將一行從一個表映射到一個對象。


  這里有一個很好的圖表,很好地解釋了模板模式。您可以看到,每個人都有一些共同的任務,但是他們做不同的工作,模板方法很好地捕捉到了這一點。他們所需要做的就是定義他們的工作,他們可以通過定義work()抽象方法來定義他們的工作。

image.png

  除了JdbcTemplate之外,您還可以在Spring框架的API中找到許多模板方法模式的其他示例,例如JmsTemplate和RestTemplate,它們允許您使用Java應用程序中的RESTAPI。


  這就是您可以從Spring中學到的一些Java最佳實踐。Spring是一個很棒的框架,其作者是經驗豐富的Java開發人員。通過使用Spring以及查看它們的代碼、所做的決策以及它們如何設計api,您可以學到很多東西。Spring是開源的,這意味著您可以下載并查看它們的源代碼。


  我知道Spring是許多這樣的最佳實踐的集合,有很多東西需要學習,但是我發現這三種方法在Spring中隨處可見,這對Spring框架的代碼質量產生了巨大的影響。


  以上是小編為大家總結的內容,如果在閱讀中遇到問題,可以咨詢動力節點IT培訓官網的在線客服老師。


提交申請后,顧問老師會電話與您溝通安排學習

免費課程推薦 >>
技術文檔推薦 >>
主站蜘蛛池模板: 国产一区二区三区在线免费 | 久久国产成人 | 国产一区二区三区在线观看精品 | 欧美视频性 | 亚洲不卡视频在线观看 | 精品综合久久久久久98 | 97在线观看视频免费 | 日韩一级欧美一级毛片在线 | 久久亚洲不卡一区二区 | 欧美日韩国产成人高清视频 | 四虎精品成人免费影视 | 国产成人综合久久综合 | 俄罗斯毛片视频 | 日本一区视频在线 | 精品乱码一区二区三区在线 | 色婷婷狠狠久久综合五月 | 成 人 黄 色 大 片 | 写真福利 第 页 在线视频 | 夜夜操夜夜 | 男女拍拍视频黄的全免费 | 一区二区三区四区在线观看视频 | 五月婷婷激情四射 | 四虎国产永久在线精品免费观看 | 黄色日本视频 | 中文字幕国产亚洲 | 888米奇色狠狠俺去啦 | 人人乳乳香蕉大免费 | 久久天天躁狠狠躁夜夜爽蜜月 | 久久久久国产一级毛片高清版 | 农村妇女又色黄一级毛片 | h在线观看免费 | 国产福利一区二区三区在线视频 | 麻豆国产96在线 | 中国 | 久久久亚洲精品视频 | 久久99久久99 | 最新日本免费一区二区三区中文 | 国产精品免费看久久久麻豆 | 国产欧美精品一区二区三区四区 | 日韩a免费 | 欧美成人免费全部观看天天性色 | 日本中文字幕在线看 |