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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • C语言:判断回文字符串的两种简单方法

    C语言:判断回文字符串的两种简单方法我的机器学习教程「美团」算法工程师带你入门机器学习已经开始更新了,欢迎大家订阅~任何关于算法、编程、AI行业知识或博客内容的问题,可以随时扫码关注公众号「图灵的猫」,加入”学习小组“,沙雕博主在线答疑~此外,公众号内还有更多AI、算法、编程和大数据知识分享,以及免费的SSR节点和学习资料。其他平台(知乎/B站)也是同名「图灵的猫」,不要迷路哦~之前写…

    2022年6月6日
    19
  • matlab画图,添加图名,坐标轴名,曲线名称(图例)[通俗易懂]

    matlab画图,添加图名,坐标轴名,曲线名称(图例)[通俗易懂]matlab加图名,坐标轴名,图例

    2022年9月2日
    6
  • spdlog 个人封装,欢迎使用,共同探讨[通俗易懂]

    spdlog 个人封装,欢迎使用,共同探讨[通俗易懂]#ifndef_MY_LOG_HPP_#define_MY_LOG_HPP_#include”spdlog/spdlog.h”#include”spdlog/sinks/basic_file_sink.h”//supportforbasicfilelogging#include”spdlog/sinks/rotating_file_sink.h”//suppo…

    2022年6月23日
    73
  • Java基础——成员变量、局部变量和静态变量的区别

    Java基础——成员变量、局部变量和静态变量的区别之前在刚开始学习Java的时候,就谈了谈Java基础中的变量,虽然知道这货以后会经常用到,但没想到了基本语法这里,竟然有冒出来了成员变量、局部变量和静态变量。变来变去太容易让人搞晕了,挑拣出来梳理一下喽!    要想区分这哥仨,首先,我们得知道它们分别是什么。先从成员变量下刀。成员变量    我们来研究一个事物:        属性:外在特征;例如人的身高

    2022年5月1日
    63
  • Flask 的 jsonify解析

    Flask 的 jsonify解析首先运行如下代码:fromflaskimportFlask,jsonifyapp=Flask(__name__)tasks=[{‘id’:1,’title’:u’订阅python_mastery专栏’,’description’:u’专栏Link:https://xiaozhuanlan.com/python_mastery’},{‘id’:2,’t

    2022年5月24日
    37
  • 二叉树的实现

    二叉树的实现

    2021年10月6日
    163

发表回复

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

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