Spring Boot - 打开 Java 测试开发之门
本文目录
简单的依赖管理
Spring Boot技术概要
Java和Spring是Spring Boot的基石

Spring Boot特点
简单的依赖管理
自动配置
嵌入式的Servlet容器支持
Spring Boot涉及的主要技术
基础技术:常用注解、配置文件、Actuator、AOP、Interceptor、Filter等
Maven:通过pom.xml配置快速引入依赖包,快速构建与发布
集成数据访问组件:MyBatis及MyBatis plus集成与使用
集成缓存:EhCache、Redis缓存工具使用
Swagger:提供可阅读了后端接口
Git:IDE中集成进行代码管理
Tomcat:项目发布到Tomcat
Nginx:项目在Linux运行并通过Nginx反射代理出去
实战:构建一个基于【用户】CRUD的后端服务
需求
包括用户信息的CRUD(创建、检索/查询、修改、删除)和根据ID获取
实现效果图

创建一个Spring Boot应用
基础要求
JDK:Java开发工具包,是所有Java开发或项目运行的基础
IntelliJ IDEA:一个进行Java项目开发的集成开发环境,也可以使用Eclipse
创建步骤
File菜单中选择New Project
在菜单中选择Spring Initializr,选择本地安装的JDK,Server URL使用Default
按照指引,一步一步完成即可创建一个Spring Boot应用,具体如图示
本地运行测试,在入口的main方法所在类右键Run…或Debug…即可




Spring Boot项目结构
src:源文件和测试文件目录
src/main:源文件目录
src/main/java:源代码目录,所有的开发源代码的包、类、接口等其他内容都在些目录规划
main方法入口类:在src/main/java目录中,一般其他源代码都在此类所在包的子包中
src/main/resources:配置及资源目录,所有的开发配置资源都在此目录规划,比较常用的有application.properties/application.yaml
src/test目录:测试文件目录
application.properties:项目的主要配置,包括项目名称、端口、第三方工具的配置参数等pom.xml:项目信息、依赖配置、构建相关信息配置

开发用户接口及逻辑
开发步骤
定义包层次,分别添加子包entity、config、controller,分别对应为实体类、数据配置和接口控制器对就存放的包
在entity包下定义UserEntity实体类,包含id、用户名、密码、姓名、性别和描述属性
在config包下定义UserConfig数据配置类,用于存储临时数据,模拟数据库
在controller包下定义UserController接口控制器,提供一个用户相关操作的接口,包括新增、修改、删除、查询、根据ID获取
集成Swagger
概述
所有的交互性的接口,都需要文档化支持,而且最好是可视化的
文档化支持的过程,会耗费大量的开发时间
Swagger为各类语言提供快速生成REST API文档的能力,其一般处理方式是
将REST API接口生成指定格式的Swagger JSON
使用Swagger UI解析Swagger JSON,图形化展示项目接口
同时,提供调用支持
集成步骤
添加依赖,在pom.xml中添加对springfox-swagger2和springfox-swagger-ui的依赖;注意Spring Boot版本使用2.5.2(新的2.6.0版本还有支持性问题)
添加配置类,类标注@EnableSwagger2和@Configuration注解,并返回Docket类型的Bean对象
给接口添加描述【可选】,在RestController和相应的返回实体添加注解,用于生成Swagger JSON,常用的Swagger注解有
@Api,修饰RestController类,描述类信息
@ApiOperation,修饰在请求方法上,描述当前接口信息
@ApiModel,修饰请求方法的输入/输出类上,描述模型信息
查看并调用,通过/swagger-ui.html查看接口定义,并进行调用测试
还要学些什么…
这只是一个简单的基于Spring Boot的快速构建后端接口项目的示例
如果要使用Spring Boot搭建一个功能更完善的后端项目,还有很多工作要做,需要学习相应的技术
需要学习的技术
掌握一些Java高阶的编程知识,比如IO、多线程、注解、Lambda等
集成数据访问,将数据落地到数据库
集成缓存,使项目提供更加高效的服务
基于接口的认证与授权,要掌握Interceptor、Filter等技术
代码的合理规划与分层,如下图1
项目打包与部署,如下图2
…


【示例项目见附件】
来源:testingpai