暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

springboot Demo框架实现注册登录

程序员杨叔 2022-02-28
377

大家好,我是杨叔。每天进步一点点,关注我的微信公众号【程序员杨叔】,获取更多测试开发技术知识!今天分享的内容是:springboot Demo框架实现注册登录。


一、为什么要学习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://pan.baidu.com/s/14XVVNlKYKiZcUR3lSLK2Jg
提取码: pd85



END



以上,如果对你有帮助,欢迎点赞+收藏+转发,一键三连~

文章转载自程序员杨叔,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论