SSM框架项目开发过程整理
2017-09-03 19:10
169 查看
SSM框架项目开发过程整理
本项目构建自慕课网《Java高并发秒杀API》课程系列http://www.imooc.com/course/programdetail/pid/59
开发轨迹
业务分析DAO层实现
接口设计 + SQL编写
使用Junit测试功能
Service层实现
Web层实现
高并发优化
业务分析
不多讲,针对业务需求做功能分割分层,抽象出实体和业务逻辑设计数据库DAO层实现
涉及包:dao
Data Access Object 数据访问对象
将非对象数据以对象的形式操纵
entity
数据库表映射的实体
流程:
使用配置文件整合Spring和MyBatis
设计和建立数据库及表,根据ORM规则创建Entity类
根据业务逻辑(CRUD)创建DAO接口
根据DAO接口创建对应的mapper.xml,手动书写SQL语句
注意:多参数传递要使用@Param注解
创建Junit4测试用例,并整合Spring
测试MyBatis的DAO层自动实现的功能
优点:
与其他层实现分离(DAO层拼接等逻辑在Service层实现)
DAO层工作演变成:接口设计 + SQL编写
代码与SQL分离,方便Review
Service层实现
涉及包:service
具体业务实现接口定义
service.impl
实现service接口的实现类
dto
Data Transfer Object 数据传输对象
用于在不同层直接的数据传输(如Service层与Web层)
隔离不同层,降低层间耦合
exception
自定义的业务exception
enums
数据字典,存放业务相关的常量数据
流程:
设计Service接口,dto数据传输对象,自定义Exception和enum
设计Service接口实现类
配置Spring service层的xml配置及注解
创建Junit4测试用例并进行测试
Web层实现
前端交互设计:根据需求设计前端交互流程
人员
产品
解读用户需求,设计满足用户需求的文档
前端
负责页面展示
后端
负责存储展示
Restful接口:
一种优雅的URI表述方式
资源的状态和状态转移
示例
GET /seckill/list
OK
POST /seckill/execute/{seckillId}
WRONG
POST /seckill/{seckillId}/execution
OK(使用名词执行,POST表动作)
GET /seckill/delete/{id}
WRONG
DELETE /seckill/{id}/delete
OK
Restful规范
GET
查询操作
POST
添加或修改操作
非幂等
PUT
修改操作
幂等,可以使用相同参数重复执行,并能获得相同结果的函数,不用担心重复执行会对系统造成改变
对同一URL的多个请求应该返回同样的结果
DELETE
删除操作
URL设计
/模块/资源/{标示}/集合1/...
例子
/user/{uid}/friends
好友列表
/user/{uid}/followers
关注者列表
秒杀API的URL设计
GET /seckill/list秒杀列表
GET /seckill/{id}/detail详情页
GET /seckill/time/now系统时间
POST /seckill/{id}/exposer暴露秒杀
POST /seckill/{id}/{md5}/execution执行秒杀
SpringMVC基础:
围绕Handler开发
URL映射 注解@RequestMapping
* 支持标准URL
* Ant风格URL(?匹配一个字符,匹配任意字符,*匹配任意路径)
* 带{xxx}占位符的URL
请求参数绑定
@PathVariable(“xxx”)
对应URL中的占位符{xxx}
@RequestParam(“xxx”)
对应的请求参数
请求方法限制
@RequestMapping(method=RequestMethod.xxx)
GET,POST,PUT,DELETE
请求转发和重定向
转发
return “redirect:/url”;
重定向
return “forward:/seckill/list”;
数据模型赋值
ModelAndView或Model
调用addAttribute方法
返回json数据
@RequestMapping(produces=”application/json;charset=UTF-8”)
@ResponseBody
直接返回POJO就能转换成json
cookie访问
参数注解 @CookieValue(value=”xxx”,require=”false”)
涉及包:
dto
封装泛型JSON result
web
实现Controller
流程:
创建Controller及各接口映射的方法
使用注解描述各接口的映射,限制及参数获取
调用Service(由SpringDI注入)完成业务逻辑,封装到Model中返回给相应视图
完成视图设计
部署到服务器上调试
相关文章推荐
- 某教育平台项目开发之--使用SSM框架开发过程遇到的问题总结
- .net通用的开发框架不同项目的修改过程
- Maven+SSM框架下项目开发常见异常及解决方案(二)
- 使用Maven基于ssm框架的完整商务管理开发项目(02)
- java开源框架应用技巧之spring配置文件中如果有多个.hbm.xml文件的话,无论是项目开发过程中还是维护过程中修改起来都会很麻烦切容易出错
- 搭建SSM项目框架全过程及思考
- SSM 框架搭建 web 项目的思路整理
- 搭建SSM项目框架全过程及思考
- java源码 springmvc mybatis SSM SSH 主流后台管理开发框架项目
- 【持久化框架】SpringMVC+Spring4+Mybatis3集成,开发简单Web项目以及SSM框架下载
- java快速开发平台 二次开发 外包项目利器 springmvc SSM后台框架源码
- Maven构建SSM框架JavaWeb项目pom.xml文件整理
- 今天我来整理下自己开发CM完成第一个项目HTC a5 的编译过程
- ssm框架开发过程中遇到的一错误以及解决问题提示
- Maven+SSM框架下项目开发常见异常及解决方案(一)
- 在spring+hibernate框架的java项目开发过程中,经常会遇到这样的错误: could not find a getter for ... in class ...
- 模式识别开发之项目---计算机视觉目标检测的框架与过程
- SSM框架的搭建及项目开发的步骤
- java二次开发 外包项目利器 springmvc SSM后台框架源码
- 使用Maven基于ssm框架的完整商务管理开发项目(01)