您的位置:首页 > 编程语言 > Java开发

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中返回给相应视图

完成视图设计

部署到服务器上调试
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java ssm框架
相关文章推荐