大家好,我是杨叔。每天进步一点点,关注我的微信公众号【程序员杨叔】,获取更多测试开发技术知识!今天分享的内容是:从零开始搭建springboot框架
一、为什么要学习springboot?
SpringBoot是目前最流行和使用最广泛的Java框架,其强大的自动配置机制使基于Spring的应用程序入门非常容易,大大降低了新手的入门门槛。Springboot作为一个微服务框架,延续了spring框架的核心思想IOC和AOP,简化了应用的开发和部署。程序员们使用它可以做到专注于Spring应用的开发,而无需过多关注XML的配置。
而当大部分公司的应用程序都使用springboot开发时,作为测试人员,学习了解该框架也势在必行了。此外作为想成长为测试开发的同学来说,使用springboot开发后端服务也是一项基本的技能。
有的测试同学可以会觉得作为测开,掌握Python难道还不够吗?Python不也能开发后端服务吗?但现实情况往往是当公司整个研发体系主要是使用Java时,为了适配公司整体的框架体系,比如一些流程、监控体系的接入,最终测试开发人员还是得选用Java作为测试相关平台的开发语言。
因此如果你想成为一名优秀的测试开发人员,不止步于仅仅写一些脚本,想进行更多平台级的开发,那么学习并拥抱Java,会使你的测开之路更加顺畅!
二、项目结构
Idea直接创建一个springboot项目,创建时勾选上spring web, mybatis framework依赖
项目自动生成后,构建如下的项目目录:
具体每一层目录&文件含义解释如下:
├── bean
├──User User PoJo对象,映射对应数据库字段
├── common
├──WebMvcConfig WebMvc配置类,用于重写addViewControllers方法配置映射关系,实现页面路由
├── config
├──SwaggerConfig Swagger配置类,配置只有在方法上使用@ApiOperation注解才会暴露给swagger
├── controller
├──UserController controller层,定义前端请求与后端接口的映射关系
├── dao
├──UserDao 数据持久层,定义数据库相关接口方法
├── services
├──UserServices 接口层,定义后端接口
├──impl
├──UserServicesImpl 接口实现类,后端接口的具体方法实现
├── SpringbootmybatisxmlApplication Springboot启动类
├── resources 资源类文件夹
├──mapper
├──UserMapper Mybatis mapper配置文件,管理数据相关方法具体语句实现
├── static 前端页面相关的静态js/css文件、字体、图片等
├── templates 前端页面HTML文件
├── application.properties 配置文件,用于配置数据库、Redis等相关的配置信息
Pom.xml文件中maven依赖如下:
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.2.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.yy</groupId>
<artifactId>springbootmybatisxml</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>springbootmybatisxml</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jdbc</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.mybatis.spring.boot</groupId>
<artifactId>mybatis-spring-boot-starter</artifactId>
<version>2.1.1</version>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.12</version>
<scope>provided</scope>
</dependency>
<!--swagger依赖-->
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger2</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>io.springfox</groupId>
<artifactId>springfox-swagger-ui</artifactId>
<version>2.9.2</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
<exclusions>
<exclusion>
<groupId>org.junit.vintage</groupId>
<artifactId>junit-vintage-engine</artifactId>
</exclusion>
</exclusions>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
</project>
三、具体代码分析
bean==>User.java
User PoJo对象,映射对应数据库字段:
common==>WebMvcConfig.java
WebMvc配置类,用于重写addViewControllers方法配置映射关系,实现页面路由:
config==>SwaggerConfig
Swagger配置类,配置只有在方法上使用@ApiOperation注解才会暴露给swagger
controller==>UserController
controller层,定义前端请求与后端接口的映射关系, 主要是两个接口,注册和登录:
dao==>UserDao
数据持久层,定义数据库相关接口方法:
services==>UserServices
接口层,定义后端接口,注册和登录接口:
impl==>UserServicesImpl
接口实现类,注册和登录后端接口的具体方法实现:
SpringbootmybatisxmlApplication
Springboot启动类,标准写法:
resources==>mapper==>UserMapper
Mybatis mapper配置文件,管理数据相关方法具体语句实现
static: 存放前端页面相关的静态js/css文件、字体、图片等
templates: 前端注册、登录页面HTML文件
application.properties:配置文件,用于配置数据库、Redis等相关的配置信息,里面地址、用户名、密码记得换成你自己的可用的信息
四、启动运行效果
运行springboot的启动类:
可以看到tomat服务器已经成功启动,端口就是上面配置文件里面配置的80:
访问注册页面:http://localhost/registerNew
注册成功:
访问登录页面:http://localhost/loginNew
登录成功:
项目源码已上传至我的百度网盘,地址在我的微信公众号同篇文章文末处,需要的朋友可以关注我的微信公众号,查看文章获取~
=========================================================
以上,如果对你有帮助,
欢迎搜索关注我的微信公众号【程序员杨叔】,免费了解获取更多测试相关干货内容资料,一起交流学习~