Loading
1196 字
6 分钟

开发规范与工程搭建

AI 摘要

开发规范与工程搭建#

定义#

在 Tlias 智能学习辅助系统的实战开发中,首先需要建立统一的开发规范并完成基础工程搭建。这包括前后端分离开发模式、RESTful API 风格约定、接口测试工具的使用,以及 SpringBoot 工程的基础结构搭建。

开发规范#

前后端分离开发#

企业项目开发主要有两种模式:前后台混合开发和前后台分离开发。

前后台混合开发的缺点:

  • 沟通成本高:后台发现前端问题需找前端修改,再交回后台
  • 分工不明确:后台开发需同时写前端代码
  • 不便管理:所有代码在一个工程中
  • 难以维护:前端更新需要整个工程重新打包部署

前后台分离开发将工程分为前端工程和后端工程,前端交给专业前端人员,后端交给专业后端人员,双方通过接口文档约定数据格式。

前后端分离开发

后端开发功能的具体流程:

后端开发流程

  1. 需求分析:阅读需求文档,分析需求
  2. 接口定义:查询接口文档中关于需求的接口定义(地址、参数、响应数据类型等)
  3. 前后台并行开发:各自按照接口文档进行开发
  4. 测试:各自按照接口文档进行测试
  5. 前后端联调测试:前端工程请求后端工程,测试功能

RESTful 风格#

REST(Representational State Transfer),表述性状态转换,是一种软件架构风格。

传统 URL 风格:

  • http://localhost:8080/user/getById?id=1 — GET:查询 id 为 1 的用户
  • http://localhost:8080/user/saveUser — POST:新增用户
  • http://localhost:8080/user/updateUser — POST:修改用户
  • http://localhost:8080/user/deleteUser?id=1 — GET:删除 id 为 1 的用户

传统 URL 将资源访问行为暴露在外,且不同开发人员命名习惯各异(getByIdselectByIdqueryById),难以统一维护。

基于 REST 风格 URL:

  • http://localhost:8080/users/1 — GET:查询 id 为 1 的用户
  • http://localhost:8080/users — POST:新增用户
  • http://localhost:8080/users — PUT:修改用户
  • http://localhost:8080/users/1 — DELETE:删除 id 为 1 的用户

核心原则:通过 URL 定位要操作的资源,通过 HTTP 动词(请求方式)来描述具体的操作。

请求方式操作
GET查询
POST新增
PUT修改
DELETE删除

注意事项:

  • REST 是风格、约定方式,约定不是规定,可以打破
  • 描述模块功能通常使用复数(加 s),表示此类资源而非单个资源。如:users、emps、books

Apifox 工具#

Apifox 是一款集成了 API 文档、API 调试、API Mock、API 测试的一体化协作平台。

在前后端并行开发时,由于浏览器只能发起 GET 请求,无法直接测试 POST、DELETE、PUT 等接口,需要借助 Apifox 等接口测试工具完成接口测试。

工程搭建#

创建 SpringBoot 工程#

引入 web 开发起步依赖、MyBatis、MySQL 驱动、Lombok。

数据库准备#

创建 tlias 数据库,准备 dept 部门表:

CREATE TABLE dept (
id int unsigned PRIMARY KEY AUTO_INCREMENT COMMENT 'ID, 主键',
name varchar(10) NOT NULL UNIQUE COMMENT '部门名称',
create_time datetime DEFAULT NULL COMMENT '创建时间',
update_time datetime DEFAULT NULL COMMENT '修改时间'
) COMMENT '部门表';
INSERT INTO dept VALUES (1,'学工部','2023-09-25 09:47:40','2024-07-25 09:47:40'),
(2,'教研部','2023-09-25 09:47:40','2024-08-09 15:17:04'),
(3,'咨询部','2023-09-25 09:47:40','2024-07-30 21:26:24'),
(4,'就业部','2023-09-25 09:47:40','2024-07-25 09:47:40'),
(5,'人事部','2023-09-25 09:47:40','2024-07-25 09:47:40'),
(6,'行政部','2023-11-30 20:56:37','2024-07-30 20:56:37');

application.yml 配置#

spring:
application:
name: tlias-web-management
datasource:
driver-class-name: com.mysql.cj.jdbc.Driver
url: jdbc:mysql://localhost:3306/tlias
username: root
password: 1234
mybatis:
configuration:
log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

基础代码结构#

实体类 Dept:

package com.itheima.pojo;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import java.time.LocalDateTime;
@Data
@NoArgsConstructor
@AllArgsConstructor
public class Dept {
private Integer id;
private String name;
private LocalDateTime createTime;
private LocalDateTime updateTime;
}

统一响应结果 Result:

package com.itheima.pojo;
import lombok.Data;
import java.io.Serializable;
@Data
public class Result {
private Integer code; // 编码:1成功,0失败
private String msg; // 错误信息
private Object data; // 数据
public static Result success() {
Result result = new Result();
result.code = 1;
result.msg = "success";
return result;
}
public static Result success(Object object) {
Result result = new Result();
result.data = object;
result.code = 1;
result.msg = "success";
return result;
}
public static Result error(String msg) {
Result result = new Result();
result.msg = msg;
result.code = 0;
return result;
}
}

基础骨架类:

// DeptMapper
@Mapper
public interface DeptMapper {
}
// DeptService
public interface DeptService {
}
// DeptServiceImpl
@Service
public class DeptServiceImpl implements DeptService {
}
// DeptController
@RestController
public class DeptController {
}

常见场景#

  • 新项目启动时,首先确定前后端分离架构和接口规范
  • 使用 Apifox 管理 API 文档,前后端并行开发
  • 规范 RESTful 风格的 URL 设计,保证团队协作一致性

注意事项#

  • REST 是约定而非强制规范,特殊场景可打破
  • 资源路径建议使用复数形式(如 /depts
  • 接口文档是前后端协作的核心契约,后端必须严格遵守
  • SpringBoot 工程中 Lombok 可简化实体类代码,减少样板代码

支持与分享

如果这篇文章对你有帮助,欢迎分享给更多人或赞助支持!

赞助
开发规范与工程搭建
https://blog.tsh520.cn/posts/javawebai/后端基础/开发规范与工程搭建/
作者
团子和蛋糕
发布于
2026-05-21
许可协议
CC BY-NC-SA 4.0
最后更新于 2026-05-21,距今已过 30 天

部分内容可能已过时

评论区

[ 公告 ]

如果你喜欢,那么欢迎来到我的世界!

了解更多
[ 音乐 ]
封面

音乐

暂未播放

0:00 0:00
暂无歌词
找不到相关结果。
[ contents ]
[ 全部文章 ]
我和宝宝在一起已经
---------TSH CXY---------
---------TSH
CXY---------
0 0 0
00 00 00
最近更新
站点统计
文章
84
动态
20
记录次数
89
分类
6
标签
78
总字数
94,329
运行时长
0
最后活动
0 天前