最近做了一個小Demo,對比開發 SSM 與 Spring Boot 的差別。 這個系列文章,我按照如下目錄組織:
- SSM vs Spring Boot:序章
- 1-規劃項目包、文件目錄
- 2-添加 Maven 依賴
- 3-持久層開發
- 4-持久層的單元測試
- 5-業務層開發
- 6-業務層的單元測試
- 7-控制層 + 視圖開發
- 8-控制層的單元測試
- 9-緩存功能開發
- 10-緩存功能測試
- SSM vs Spring Boot:終章
更多的項目細節,建議可以查看源碼。
項目地址:
1~10 節全部以展示 SSM(webstart-simple 項目)爲主,最後的 SSM vs Spring Boot:終章 展示 Spring Boot(webstart-springboot 項目) 與 SSM(webstart-simple 項目)開發不同的地方。 本節 SSM vs Spring Boot:序章 即爲開發前的準備說明。
開發目的
- 做個項目腳手架,將來新開發的項目可直接參考這個來做。
- 每一步都可當做模板來用,很多類可直接複用。
- SSM / Spring Boot 整合 + 單表 CRUD + 分頁查詢 + Redis 緩存
開發步驟
- 規劃項目包、文件目錄
- 添加 Maven 依賴
- 持久層開發
- 所有的 model、mapper 都是由 mybatis-generator(MBG) 自動生成的。
- 其中
XxxExtMapper.java
及XxxExtMapper.xml
是自定義的 mybatis 查詢功能,要自己寫。
- 持久層用做單元測試
- 業務層開發
- 業務層用做單元測試
- 控制層 + 視圖開發
- 控制層用做單元測試(可選)
- 緩存功能開發
- 緩存功能測試
項目功能
- 用戶註冊
- 用戶登錄
- 單表 CRUD + 分頁條件查詢(重點)
開發包命名
- 實體類:model
- 持久層:mapper
- 業務層:service
- 控制層:controller
- 通用包:common
- 常量類:constant
- 異常類:exception
- 消息:message
- 工具類:util
技術選型
- Java版本:JDK1.8
- Web容器:Tomcat8
- 業務層:Spring5
- 持久層:MyBatis + Mybatis-Spring + Mybatis-Generator(MBG)
- 控制層:Sprig MVC
- 後端數據校驗:Hibernate-Validator
- 緩存:Redis + Spring-Data-Redis
- 前端相關:(JSP + JSTL) + (jquery + jquery.validate + html + css)
- 日誌:sl4j + log4j
- 工具包
- commons-lang3
- commons-codec
- guava
- jackson
- 單元測試
- Junit
- Spring-Test
- 數據庫
- 關係型數據庫:MySQL
- 內存數據庫:H2(自測使用)
- 數據庫連接池:Hikaricp(Spring Boot默認自帶)
- 開發工具
- IntelliJ IDEA
- Git + Gitee(項目備份到這裏)
- Maven
- Navicat