SpringBoot系列:1.快速搭建web api项目
2020-10-26 本文已影响0人
dothetrick
内容概述
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访问,目录如下:
源码地址 ,https://gitee.com/dothetrick/web-demo/tree/most-simple/
以上内容属个人学习总结,如有不当之处,欢迎在评论中指正