内容概述

SpringBoot最常见得用途就是web api项目。

本文介绍使用自动配置功能,通过最简洁的pom依赖,快速搭建一个示例项目。

实现的功能为:接收http请求并返回json格式的数据。

1. 需要的pom依赖

SpringBoot的一大特色就是自动配置,通过自动配置,可以极大简化pom.xml,和代码量。

一个简单的web api项目需要的功能是:处理http请求,读写mysql。
在实际项目中,基本都会使用mysql连接池和sql解析工具,提高性能和开发效率。这里使用了druid + mybatis-plus

按照约定,自动配置的包名称一般包含starter。本项目中使用的starter如下:

  • web的starter,包括对tomcat的自动配置,因为项目中使用了Springboot的parent,所以这里不用指定版本
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>
  • druid的starter,用来自动配置连接池,用于mysql的连接
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>druid-spring-boot-starter</artifactId>
    <version>1.2.1</version>
</dependency>
  • mybatis-plus的starter,用来加载mapper类等依赖
<dependency>
    <groupId>com.baomidou</groupId>
    <artifactId>mybatis-plus-boot-starter</artifactId>
    <version>3.3.1</version>
</dependency>

2. 配置信息

使用自动配置时,一般通过SpringBoot的配置文件application.yml,自定义各种参数。
本项目中用到的配置为mysql连接信息web项目启动端口,具体如下:

spring:
  datasource:
    druid:
      url: jdbc:mysql://localhost:3306/test_db?zeroDateTimeBehavior=convertToNull&useUnicode=true&characterEncoding=UTF-8&serverTimezone=UTC
      username: root
      password: 123456

server:
  port: 8999
  • 通过使用druid-spring-boot-starter,启动时会根据mysql配置,自动生成连接,用于mysql访问。
  • port指定web访问的端口,api项目中通常会选择非80端口

3. 代码说明

为了提高开发效率,项目中使用mybatis-plus-generator,生成读写表所需的entity,mapper和service类。

为了与前端开发更有效的配置,通常web api项目中会使用一个统一返回类来控制返回值格式,保证接口返回的格式统一。

除了生成的代码外,项目中只需要实现统一格式类CommonResVo,和控制器类UserController即可提供api访问,目录如下:

alt

源码地址 ,https://gitee.com/dothetrick/...

以上内容属个人学习总结,如有不当之处,欢迎在评论中指正


dothetrick
349 声望6 粉丝

摸爬滚打中的程序员