实际开发中常常遇到的问题 或是 遵守的规则

1. 实体类规范

  • DTO:数据传输对象,在客户端与服务端间传递数据,例如微服务之间的请求参数和返回值、前端提交的表单
  • PO:持久层对象,与数据库表一一对应,作为查询数据库时的返回值
  • VO:视图对象,返回给前端用于封装页面展示的数据
  • QUERY:查询对象,一般是用于封装复杂查询条件

2. 登陆拦截器

在使用登录拦截器时,可以再拦截检查后将用户数据存入ThreadLocal中(因为传入Controller中的处理器方法的参数只能被读取一次, 防止拦截请求参数检查后,接收不到参数而报错, 读取参数的流只能被使用一次)供该线程其他业务使用.

3. Hutool工具类库

hutool是一个较为全面的工具类库.详情请看官网.

hutool: 🍬小而全的Java工具类库,使Java拥有函数式语言般的优雅,让Java语言也可以“甜甜的”。 (gitee.com)

手动创建线程池

手动创建线程池,效果会更好哦_hello_cmy的博客-CSDN博客_手动创建线程池,效果会更好哦。

4. Maven 知识

聚合:父工程通过 modules 标签,将子模块聚集起来,好处是方便管理,父工程执行maven命令,所有子模块都会执行

继承:子模块通过parent标签,可以从父工程继承一些依赖。

Maven子工程继承父工程

利用Maven可以对项目进行分模块开发。那么怎样把各个模块整合到一起呢?这就利用了Maven继承的特性。一般是每个模块都继承一个父工程。

几个注意的地方:

  (1)父工程的packaging是pom

  (2)父工程中定义属性,子模块不用定义,会继承下来

  (3)父工程的依赖放在dependencyManagement中,这样子模块才能继承父工程的依赖

  (4)父工程的pom.xml文件中定义了modules,整合子模块的artifactId

  (5)子模块的pom.xml文件中定义了parent标签,里面是父工程的gav

  (6)子模块只需定义自己的artifactId

  (7)子模块如果继承父工程的依赖可以不写版本,但是如果父工程中没有该依赖,那么子模块必须写完整的gav(坐标)

Maven 生命周期

Maven共有三套生命周期

第一套:clean 清理

第二套:default(compile 编译、test测试、package打包、install安装)

第三套:site站点(deploy部署)

三套生命周期相互独立,但是在同一套生命周期内部,执行后面命令时,会依次执行前面的命令

5. Git Flow

image-20230713232344762

6. 开发一个新业务的一般流程

image-20230714174651550

在此之前需求调研和产品原型是大前提必须在有两者的情况下,才成立。

  1. 分析产品原型
  2. 设计数据结构
  3. 实现功能接口
    1. 粗粒度:比如课程有查询、删除、新增等。
    2. 细粒度:接口四要素:请求方法(GET、POST)、请求参数、请求路径、响应结果。
  4. 测试
    1. 单元测试
    2. 集成测试
  5. 联调

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注