【SpringBoot2.X】SpringBoot學習總結一


 

本文為慕課網《2019版 SpringBoot2.x 打造企業級微信點餐系統》的學習筆記總結一,以備日后回顧

該課程地址:https://coding.imooc.com/class/117.html

 

1. 課程技術棧:以SpringBoot和微信特性為核心技術棧

后端技術包括:SpringBoot2.x、JPA、MyBatis、Freemarker、WebSocket、基於Redis實現的緩存、分布式Session、分布式鎖

微信特性包括:微信掃碼登錄(需要企業資質賬號)、微信網頁授權(微信公眾號開發測試帳號即可,需要使用到內網穿透工具)、微信支付與退款(需要企業資質賬號)

軟件版本:SpringBoot2.1.4、JDK1.8

開發項目之前,需要對項目進行詳細的分析設計————分角色、功能模塊、部署架構、數據庫表等多個維度進行分析與設計!!!

2. 新建SpringBoot項目時,通過“Spring Initializr”創建,之后可以一路next完成,在需要相關jar包時到pom中引入即可。

 

使用某個jar包的常用套路:pom在引入依賴--> application.yml中配置 --> 代碼中使用

 

3. pom中引入的常用jar包

spring-boot-starter-* 起步依賴:是SpringBoot核心之處,它提供了Spring和相關技術的一站式服務,讓開發者不再關心Spring相關配置,簡化了傳統的依賴注入操作過程。

日志: slf4j+logback

Lombok:Lombok可以減少很多重復代碼的書寫。比如說getter/setter/toString等方法的編寫

 

4. 配置文件

application.yml:通過該配置文件進行項目的統一配置和管理。注意:這個文件中只能配置簡單的日志

logback-spring.xml:可以配置復雜日志。在resources文件夾下創建logback-spring.xml文件,並在其中配置日志輸出格式及內容,springBoot將自動讀取該配置文件

5. 設計與開發順序

   API文檔  -->  實體類 --> DAO層(Dao接口、單元測試)--> Service層(Service接口及其實現類、單元測試)--> Controller層

   單元測試貫穿Dao層和Service層開發

6. 基於JPA的實體類開發

    創建實體類時,類名和屬性名都采用駝峰命名法,Jpa會自動轉換;並為實體類添加@Entity注解;自增主鍵添加 @GeneratedValue(strategy = GenerationType.IDENTITY) 注解,否則會報‘關系 "hibernate_sequence" 不存在‘ 的錯誤;注意@DynamicInsert()、@DynamicUpdate()

7. 基於JPA的Dao層開發

    創建dao層接口時,繼承自JpaRepository接口

8. 單元測試中加上@Transactional注解后會執行回滾,以保持數據庫表數據的干凈

9. 編寫Service接口及其實現類。

  • 所有的業務邏輯都放到Service層實現

10. DTO:數據傳輸對象,專門用於在各層之間傳輸數據

  • 在各層之間傳輸數據最好使用DTO對象

 

 11. API文檔與統一的返回格式VO

a. 代碼未動,文檔先行

b. 返回給前端的包——VO

c. 統一創建返回給前端的對象:ResultVO,只返回前端需要的字段,原則上不直接返回實體類因出於信息安全考慮

 

 12. 表單校驗

 13.使用freemarker時,Controller需要返回ModelAndView對象

 14. 自定義幾個異常類(需繼承自RuntimeException),開發全程如果出現異常則直接拋出異常而無需處理,最后統一進行全局異常處理

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM