大家好,我是杨叔。每天进步一点点,关注我的微信公众号【程序员杨叔】,获取更多测试开发技术知识!今天分享的内容是:从零开始搭建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

登录成功:

项目源码已上传至我的百度网盘,地址在我的微信公众号同篇文章文末处,需要的朋友可以关注我的微信公众号,查看文章获取~

=========================================================
以上,如果对你有帮助,

欢迎搜索关注我的微信公众号【程序员杨叔】,免费了解获取更多测试相关干货内容资料,一起交流学习~

从零开始搭建springboot框架相关推荐

  1. 从零开始搭建SpringBoot项目(三)——小程序Uni-app项目搭建(详细教程和实战)

    前情回顾 从零开始搭建SpringBoot项目(一)--开发环境搭建 从零开始搭建SpringBoot项目(二)--Swagger接口测试平台搭建 目录 前情回顾 一.前置条件 二.本篇介绍 三.获取 ...

  2. 从零开始搭建Android框架系列

    原文链接:http://www.jianshu.com/nb/3767449 开篇介绍和工程目录结构[从零开始搭建android框架系列(1)] 不容错过,最全的安卓架构合集[从零开始搭建androi ...

  3. 从零开始搭建SpringBoot的Demo

    从零开始搭建SpringBoot的Demo 版本说明: ​ Sprngboot:2.1.3.RELEASE ​ jdk:1.8 ​ Mysql:5.7 ​ Idea:2018.2.4 功能:集成通用M ...

  4. 从零开始搭建ABP框架(Asp .Net Boilerplate)+MySQL(v8.0.22)

    从零开始搭建ABP框架(Asp .Net Boilerplate)+MySQL(v 8.0.22) 一.总体框架介绍(传统的WebAPI) 一.总体框架介绍 注意:VS2019版本必须在16.9.4以 ...

  5. idea 引入oracle驱动并打包_IDEA下从零开始搭建SpringBoot工程

    SpringBoot的具体介绍可以参看其他网上介绍,这里就不多说了,就这几天的学习,个人理解,简而言之: (1)它是Spring的升级版,Spring容器能做到的事情,它都能做到,而且更简便,从配置形 ...

  6. idea ssm打war包_IDEA下从零开始搭建SpringBoot工程

    SpringBoot的具体介绍可以参看其他网上介绍,这里就不多说了,就这几天的学习,个人理解,简而言之: 如果想学习Java工程化.高性能及分布式.深入浅出.微服务.Spring,MyBatis,Ne ...

  7. qt 从零开始搭建插件框架

    系统设计 搭建插件框架的好处 略 分析 至少分为以下几个模块 需要至少一个界面插件,用于展示界面 需要一些功能插件,为界面提供所需功能,例如FTP功能,网络服务,数据库等等 需要一个插件用于管理其他插 ...

  8. ssm框架搭建连接mysql_从零开始搭建SSM框架(Spring + Spring MVC + Mybatis)

    最近在回顾和总结一些技术,想到了把之前比较火的 SSM 框架重新搭建出来,作为一个小结,同时也希望本文章写出来能对大家有一些帮助和启发,因本人水平有限,难免可能会有一些不对之处,欢迎各位大神拍砖指教, ...

  9. 从零开始搭建SpringBoot项目(一)——开发环境搭建(图文详细)

    一.前置条件 需要安装 下载方法 IDEA 自备 jdk 1.8以上 自备 MySQL 5.7 百度网盘下载 , 提取码:8vyi Maven库 百度网盘下载 , 提取码:xq2u Navicat 1 ...

最新文章

  1. 在CentOS 6.9 x86_64上安装nginx 1.12.2
  2. 批量创建用户和设置密码
  3. 用Python分析本山大叔鬼畜视频为啥这么火
  4. Source Insight 基本使用(1)-使用Source Insight查看Android Framework 源码
  5. Unity3D:中小型团队游戏研发的突围之道
  6. python网页运行环境_Python小牛叔Web开发1:安装Visual Studio Code配置Python运行环境...
  7. 【NOIP2015模拟10.22】最大子矩阵
  8. pycharm中无法安装scipy、imread、GDAL等库
  9. 程序员初试和复试_程序员因肌肉发达面试被质疑能力,网友:这做程序员有啥关系呢?...
  10. sprintf用法详解
  11. 潭州Java中级班(day_05)
  12. 学习 TList 类的实现[6]
  13. html2canvas在不同设备生成图片大小不一致问题
  14. Python一题多解:水仙花数
  15. 测试监视器锁的等待/通知机制
  16. 离人计算机乐谱,离人简谱 林志炫离人挥霍着眼泪,回避还在眼前的离别
  17. 微服务、容器、云原生、Kubernetes、SOA、PaaS平台、Devops 之间的关系
  18. latex zip 数模模板_数学建模美赛LaTeX模板
  19. 计算机与机械制图课题研究,计算机辅助技术和机械制图融合教学改革探索和实践.doc...
  20. 分享一个不错的个人简历模板下载网站(word文件可编辑的)

热门文章

  1. VMXNET3 vs E1000E and E1000
  2. Vue生命周期,axios及动画
  3. ubuntu解决网络连接的优先级
  4. 低功耗蓝牙(BLE)-- advertisements广播篇
  5. 王树尧老师运筹学课程笔记 06 线性规划与单纯形法(几何意义)
  6. 全国计算机程序员等级,计算机等级考试程序员级考试之四大经验
  7. MIPI屏和LVDS屏有什么区别
  8. ESP8266-Arduino网络编程实例-WiFi连接丢失解决方法
  9. Arduino支持STM32套件的开发板管理器安装
  10. 慕课嵌入式开发及应用(第二章.嵌入式硬件构件与底层驱动构件基本规范)