从零开始的SpringBoot前后端分离入门级项目(二)

正文

上回我们已经将项目创建好并且引入了本次项目所需要用到的依赖,这次我们就正式进入项目的编写

编写启动类及配置文件

启动类

在java文件夹下新建两级目录并创建MainApplication.class
目录

启动类
按照上述步骤创建并编写完启动类后就可以开始配置文件的创建了。

配置文件

在resources目录下创建application.yml作为SpringBoot的配置文件

server:
  port: 8090 #监听端口为8090
spring:
  datasource:
    type: com.alibaba.druid.pool.DruidDataSource #配置数据库连接池为Druid
    driver-class-name: com.mysql.cj.jdbc.Driver  #配置数据库
    username: 数据库用户名
    password: 数据库登录密码
    url: jdbc:mysql://127.0.0.1:3306/数据库名?useUnicode=true&characterEncoding=UTF-8&serverTimezone=Asia/Shanghai

请注意对齐,以免发生错误。

启动测试

完成上述两个步骤后一个最简易的SpringBoot项目就搭建完成了!这时我们右键主启动类直接启动项目看见如下图所示,就已经成功在8090端口启动了我们的SpringBoot项目了
在这里插入图片描述

搭建项目的基本框架

在完成启动测试之后我们将整个项目停止,并继续完善我们项目的骨架,熟悉JavaEE的同学都知道在一个JavaWeb项目中主要有下图所示的几个包
项目骨架
注意:请将这些包与主启动类平级创建,以免后面SpringBoot无法扫描到相应的包。
不同包的作用就不在此赘述,接下来我们将从统一请求返回体开始进行项目的编写。

统一请求返回体(统一请求响应体)

目前Web项目一般是采用前后端分离的架构,使用Json格式数据作为前后端沟通的桥梁,那么我们在每次响应请求时都需要返回一个Json格式的数据给前端,如果每次手动拼接数据会产生很多冗余代码于是我们利用一个统一的返回对象对返回格式进行统一。在model包下新建bean包并创建CommonResult类,类中的代码如下

CommonResult
/**
 * @author Alfalfa99
 * @Date 2020/9/13 14:00
 * @Version 1.0
 * 统一请求返回体
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class CommonResult<T> {
   
   
    private Integer code;
    private String message;
    private T data;
}

为了减少重复的get/set方法,我们使用了Lombok中的 @Data @AllArgsConstructor @NoArgsConstructor三个注解帮助我们自动生成get/set方法以及全参/无参构造方法。
注意:如果适用的旧版的idea请注意升级到较新版本的idea,以免idea中的Lombok插件过久出错,如果是第一次使用Lombok请前往idea中的插件市场搜索并下载Lombok插件,以免运行时出错。
那么我们的统一请求返回体就已经编写完毕了,类中有三个字段

  1. Code:用于向前端返回约定好的状态码
  2. message:用于向前端返回一个消息
  3. data:用于向前端返回真正需要的数据

接下来我们需要做两件事情,一件事情是约定好状态码,另一件事情是编写分页结果类。

约定状态码

通常而言HTTP请求有常用状态码如200 OK,404 Not Found 等错误,但是这在开发中常常不足以满足我们的全部需求,于是我们需要自定义所需的状态码

  1. 20000:表示一切正常
  2. 40000-4xxxx:表示程序出现如用户未登录等问题
  3. 50000:表示程序出现预料外的错误,这时候应该记录到服务器日志
    这部分内容将会在后面的全局异常处理类中详细讲述。
分页结果类

在上文中我们说到了统一请求返回体CommonResult ,但是在实际编写代码时我们会遇到一些问题,比如说对搜索结果进行分页,前端就要求我们返回结果总数和分页的数量以及当前页的结果,那这个时候我们只使用一个data字段是无法完成这样的需求的,所以我们需要将其封装成一个分页结果类PageResult。在bean包中新建PageResult类,类中代码如下

/**
 * @Author Alf
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值