最近做了一个小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