java web后端开发流程

需求分析

查看产品经理做的产品原型,列出具体的功能模块,确定每个功能的接口。要做到什么功能,效果

明确业务规则

业务说明:需要什么数据

业务流程:确定可能要用到的其他接口

如:添加商品到购物车,订单提交,订单支付界面,下单成功页面

修改用户信息:首先要回显信息,修改信息,保存信息

数据库设计

结合接口看,看接口里面有啥数据,结合产品原型

数据库具体设计,冗余字段的设计,逻辑外键

根据需求,设计出数据库表

数据库设计时,根据前面的产品原型,多次出现的字段,多设计为冗余字段,不然又要去查数据库连接查询,有了冗余字段直接单表查询

注意冗余字段不能大量设计,必须是比较稳定,不会大量变化的字段才能设计成冗余字段

逻辑外键:数据库里不是外键,是程序维护外键关系

接口设计

编写接口文档

通常一个功能对应一个接口,有时一个功能对应多个接口,比如说要修改地址,就要先回显数据,再进行修改。

设计要用到的各种实体

设计pojo(实体类,DTO,VO)

  1. Entity:纯数据对象,对应数据库
  2. DTO:用来接收参数,负责验证
  3. VO:用于返回前端数据,可以包含计算字段

确定实体功能

每个功能下写接口信息

根据产品原型分析得到:请求方式,路径,参数,返回结果(直接从产品原型上看)

(注意隐藏数据,比如订单id,肯定是要迭代更新的)

  1. 接口基本信息包括:请求路径,请求方式,接口功能描述
  2. 请求参数:请求参数格式,请求参数说明
  3. 响应数据:响应数据类型,响应参数说明,响应数据样例

编码

每一个模块创建一个controller

先写controller层-写类-想好实现逻辑

再写service层-写接口,(重点是serviceImpl层的代码书写)其下面的impl文件夹写类-定义controller层要用到的方法

最后写mapper层-写接口-执行sql,复杂sql使用动态sql来查,动态拼接查询条件

测试

提交代码

利用git提交代码

相关推荐
2301_7890156211 小时前
C++:异常
开发语言·c++·异常·异常的处理方式
码上实战11 小时前
到底Java 适不适合做 AI 呢?
java·人工智能·后端·python·ai
CVer儿11 小时前
c++接口内部内存分配问题设计
开发语言·c++
如若12311 小时前
ERROR:pdf2zh.converter:‘str‘ object has no attribute ‘choices‘ converter.py:357
java·开发语言·servlet
2301_7890156211 小时前
C++:智能指针
c语言·开发语言·汇编·c++·智能指针
沐知全栈开发11 小时前
SOAP 语法详解
开发语言
cch891811 小时前
PHP vs Java:谁更适合你的项目?
java·开发语言·php
lg_cool_11 小时前
Python 框架之py_trees
开发语言·数据结构·python
萧逸才11 小时前
【learn-claude-code】S11AutonomousAgents - 自主 Agent:自动认领任务 + 空闲轮询
java·人工智能·ai
李少兄11 小时前
优化高负载详情接口:基于字段选择与懒加载的实践
java