spring boot框架搭建_springboot工作原理

spring boot框架搭建_springboot工作原理公司大部分的应用程序都使用springboot开发,作为测试人员,学习了解该框架也势在必行。此外作为想成长为测试开发的同学来说,使用springboot开发后端服务也是一项基本的技能。

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

大家好,我是杨叔。每天进步一点点,关注我的微信公众号【程序员杨叔】,获取更多测试开发技术知识!今天分享的内容是:从零开始搭建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
在这里插入图片描述
登录成功:
在这里插入图片描述
项目源码已上传至我的百度网盘,地址在我的微信公众号同篇文章文末处,需要的朋友可以关注我的微信公众号,查看文章获取~

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

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

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/171556.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 从源码的角度分析mybatis的核心流程(上)

    从源码的角度分析mybatis的核心流程(上)

    2021年8月4日
    56
  • 超声波雷达简介_陕西雷达简介

    超声波雷达简介_陕西雷达简介超声波雷达听着很陌生,但其实一直被广泛使用在倒车上,与毫米波雷达不同的是:超声波能被任何材质的障碍物反射,毫米波只能被金属物体反射,超声波雷达的探测距离又很近,到底工作原理是什么,下面我带大家一起来来看看。1.工作原理超声波雷达的工作原理是通过超声波发射装置向外发出超声波,到通过接收器接收到发送过来超声波时的时间差来测算距离。常用探头的工作频率有40kHz,48kHz和58kHz三种。一般来说,频率越高,灵敏度越高,但水平与垂直方向的探测角度就越小,故一般采用40kHz的探头。超声波

    2025年10月31日
    2
  • Java编译时注解自动生成代码[通俗易懂]

    Java编译时注解自动生成代码[通俗易懂]在开始之前,我们首先申明一个非常重要的问题:我们并不讨论那些在运行时(Runtime)通过反射机制运行处理的注解,而是讨论在编译时(Compiletime)处理的注解。注解处理器是一个在javac中的,用来编译时扫描和处理的注解的工具。可以为特定的注解,注册自己的注解处理器。一个注解的注解处理器,以Java代码(或者编译过的字节码)作为输入,生成文件(通常是.java文件)作为输出。可以生成Java代码,这些生成的Java代码是在生成的.java文件中,所以不能修改已经存在的Java类,例如向已有的类中

    2022年5月27日
    283
  • 字符串分割与拼接「建议收藏」

    字符串分割与拼接「建议收藏」.字符串分割与拼接//@””   空的字符串对象     ——-分割     NSString * ptr = @”I am a man”;     NSArray * array = [ptr componentsSeparatedByString:@” “];//将字符串整体作为分割条件 返回值为NSArray不可变数组     NSMutableArray * array1 = 

    2022年5月8日
    40
  • 第一个Java程序—HelloWorld[通俗易懂]

    第一个Java程序—HelloWorld[通俗易懂]工欲善其事必先利其器,在写第一个Java程序之前,需要安装JDK以及配置环境变量,具体步骤见Windows中配置Java环境变量。环境变量搭建完成了,是不是已经迫不及待想敲几行代码跑跑看?走起!1.在英文路径下创建一个记事本文件,命名为HelloWorld.java。这个文件是存放java代码的文件,称为源文件。这里是将文件类型改为java类型,并不单单是名字。这里的.java是文件类型,有的电脑上可能文件后缀名给隐藏了,虽然文件名里有.java但不是个java文件。可以点击查看,将文件扩展

    2022年7月9日
    17
  • 什么是AV接口_A∨插口的作用

    什么是AV接口_A∨插口的作用Audio&Video音频&视频:音频(Audio)这个专业术语,人类能够听到的所有声音都称之为音频,它可能包括噪音、声音被录制下来以后,无论是说话声、歌声、乐器都可以通过数字音乐软件处理。视频(Video)泛指将一系列静态影像以电信号方式加以捕捉,纪录,处理,储存,传送,与重现的各种技术。连续的图像变化每秒超过24帧(frame)画面以上时,根据视觉暂留原理,人眼无法辨别单幅的静态画面;看上去是平滑连续的视觉效果,这样连续的画面叫做视频。由于AV算是出现比较早的一种接口,它由黄.

    2022年9月22日
    3

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号