热门标签 | HotTags
当前位置:  开发笔记 > 后端 > 正文

springboot+swagger2.10.5+mybatis-plus入门详解

这篇文章主要介绍了springboot+swagger2.10.5+mybatis-plus入门,本文通过实例图文相结合给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

最新idea2020安装部署超详细教程

懂得懂的

2020.3

2020.2.4

2020.2.3

2020.2.2

20.2.1

2019.3

2018.3

最新2020永久

springboot简介:

个人对springboot的一点小的理解:

1.最大优势:简化配置

区别于传统的 MVC 模式,对于配置进行了大量的简化,魔鬼注解:SpringBootApplication 中包含了的注解

@SpringBootConfiguration
	@EnableAutoConfiguration
	@ComponentScan

基本包含了传统项目启动所需要的注解

2.将原始的 tomcat 等 web 容器默认引入,不需要配置 web 容器

2020-12-23 14:56:23.683 INFO 11124 --- [main] c.l.d.DataStandardApplication : The following profiles are active: dev
2020-12-23 14:56:24.871 INFO 11124 --- [main] o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat initialized with port(s): 8080 (http)
2020-12-23 14:56:24.877 INFO 11124 --- [main] o.apache.catalina.core.StandardService : Starting service [Tomcat]

可以看出 默认选取 tomcat 为 web 启用容器。

开始简单搭建:

0.所属环境:

1.jdk环境,

在cmd后天输入: java -version 查看是否为jdk1.8版本以上(个人建议1.8,目前稳定版本有1.8 1.11和1.14 版本)

C:\Users\hzp>java -version
java version "1.8.0_251"
Java(TM) SE Runtime Environment (build 1.8.0_251-b08)
Java HotSpot(TM) 64-Bit Server VM (build 25.251-b08, mixed mode)

如果没有出现,可以到 oracle 官网下载 jdk,官网地址:JDK官网下载地址,但是需要 oracle 账号,当然你可以直接从我的网盘下载:
Linux系统jdk1.8网盘地址,

链接: https://pan.baidu.com/s/1IS0e-rSleFzW5YHo0aTMPw

提取码: ktmd

windows 系统jdk1.8网盘地址,

链接: https://pan.baidu.com/s/1RGThC5gvbX3LjHA3nc8pHQ

提取码: d23k

可以自行百度进行jdk安装和配置,此处不做详细介绍。

2.开发工具 idea

去官网下载,建议下载低2个大版本的,因为网上pojie版本很少找到新版本pojie的方法。
下载地址:idea下载地址
建议下载一个版本的 idea 如图:

目前版本为2020.3,建议选择版本为 2020.2及以后版本

目前版本为2020.3,建议选择版本为 2020.2及以后版本

3.maven 环境,

建议安装一下 maven 环境,便于从国内镜像地址 aliyun 下载。

下载 maven 的地址,建议下载 3.6.1maven3下载地址
安装 maven 进行配置(此处不做详细介绍)
配置完成后在终端输入: mvn -v

C:\Users\hzp>mvn -v
Apache Maven 3.6.3 (cecedd343002696d0abb50b32b541b8a6ba2883f)
Maven home: H:\apache-maven-3.6.3\bin\..
Java version: 1.8.0_251, vendor: Oracle Corporation, runtime: H:\Java\jdk1.8.0_251\jre
Default locale: zh_CN, platform encoding: GBK
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"

对 settings.xml 进行配置(我的maven在F盘,H:\apache-maven-3.6.3\conf 为settings),将mirrors替换如下,详细配置如下:


	
	 aliyunmaven
	 *
	 阿里云公共仓库
	 https://maven.aliyun.com/repository/central
	
		
 nexus-aliyun
 central
 Nexus aliyun
 https://maven.aliyun.com/repository/public
 
	
		aliyunmaven
		*
		阿里云spring插件仓库
		https://maven.aliyun.com/repository/spring-plugin
	

	 
		repo2 
		Mirror from Maven Repo2 
		https://repo.spring.io/plugins-release/ 
		central 
	
 

打开 idea 从 左上角 file 中找到 Settings 对 maven 进行配置,如图:

settings.xml

1.开始搭建项目

1.打开idea,找到最左边的 file ,点击file,然后选择 new ,再选择右边的 Project ,如下图:

选择file,然后点击new,在选择 project

选择后出现如下图片:

选择红色方框

点击选择红色方框:

springboot初始化

点击next进行下一步选择:

项目名字和jdk选择

选择后点击 Next 下一步:

此处选择的结果

按照图片显示的方法进行选择开发所需要的依赖,点击 next .进行project名称的选择,也可以选择直接点击 finish,如图:

项目名称

项目的初步架子已经搭建起来了。

2.等待项目从aliyun下载依赖。

大概要等待 1-3分钟,根据自己的网络快慢决定。

1.出现的 pom.xml 如下图所示:


 1.8
 

 
 
 org.springframework.boot
 spring-boot-starter-web
 

 
 mysql
 mysql-connector-java
 runtime
 
 
 org.projectlombok
 lombok
 true
 
 
 org.springframework.boot
 spring-boot-starter-test
 test
 
 
 org.junit.vintage
 junit-vintage-engine
 
 
 
 

此时的以来主要文件,下面引入 mybatis-plus 3.3.2 版本:

 
 com.baomidou
 mybatis-plus-boot-starter
 3.3.2
 

将上面的文件复制放入到 MySQL 依赖后面(主要是放在dependencies里面都可以)

然后安装官网给定的分页配置,在文件中建立一个config ,结构如图:

再创建一个MybatisPlusConfig

再创建一个MybatisPlusConfig.java,具体代码如下:

import com.baomidou.mybatisplus.core.injector.DefaultSqlInjector;
import com.baomidou.mybatisplus.core.injector.ISqlInjector;
import com.baomidou.mybatisplus.extension.plugins.PaginationInterceptor;
import com.baomidou.mybatisplus.extension.plugins.pagination.optimize.JsqlParserCountOptimize;
import org.springframework.context.annotation.Bean;

/**
 * @author hzp
 */
public class MybatisPlusConfig {

 /**
 * 分页插件
 */
 @Bean
 public PaginationInterceptor paginationInterceptor() {
 PaginationInterceptor paginatiOnInterceptor= new PaginationInterceptor();
 // 设置请求的页面大于最大页后操作, true调回到首页,false 继续请求 默认false
 // paginationInterceptor.setOverflow(false);
 // 设置最大单页限制数量,默认 500 条,-1 不受限制
 // paginationInterceptor.setLimit(500);
 // 开启 count 的 join 优化,只针对部分 left join
 paginationInterceptor.setCountSqlParser(new JsqlParserCountOptimize(true));
 return paginationInterceptor;
 }
}

添加后完成了 mybatis-plus 的分页插件。

2.对 swagger-ui 2.10.5 的引入

首先在 pom.xml 文件中的 properties 下引入 2.10.5


		1.8
		2.10.5
	

再在po.xml 文件中的 dependencies 文件中引入一下配置:


 
 io.springfox
 springfox-swagger2
 ${swagger.version}
 
 
 io.springfox
 springfox-swagger-ui
 ${swagger.version}
 
 
 io.swagger
 swagger-annotations
 
 
 io.swagger
 swagger-models
 
 
 
 
 io.swagger
 swagger-annotations
 1.5.21
 
 
 io.swagger
 swagger-models
 1.5.21
 
 
 io.springfox
 springfox-spring-webmvc
 2.10.5
 

为什么要先剔除 swagger-annotations 和 swagger-models ,再引入它们,可以看看另一个链接:springboot使用 swagger-ui 2.10.5 有关版本更新带来的问题
当然为什么要引入: springfox-spring-webmvc 2.10.5 也可以看看上面这个链接。
引入依赖后,在config 包下创建一个 SwaggerConfig.java 文件:

import org.springframework.beans.factory.annotation.Value;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.ApiInfoBuilder;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.service.ApiInfo;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2WebMvc;


/**
 * @author hzp
 * @date 2020.12.05
 */
@EnableSwagger2WebMvc
@Configuration
public class SwaggerConfig {
 @Value("${swagger.enabled}")
 private Boolean enabled;

 @Bean
 @SuppressWarnings("all")
 public Docket createRestApi() {
 return new Docket(DocumentationType.SWAGGER_2)
 .enable(enabled)
 .apiInfo(apiInfo())
 .pathMapping("/")
 .select()
 .apis(RequestHandlerSelectors.basePackage("com.example.hzp.demo.web"))
 .paths(PathSelectors.any())
 .build();
 }

 private ApiInfo apiInfo() {
 return new ApiInfoBuilder()
 .title("app 接口文档")
 .description("后台登录")
 .version("1.0")
 .build();
 }
}

添加 druid 如下面所示:


 1.8
 2.10.5
 1.1.17
 

添加 druid依赖:

	
 
 com.alibaba
 druid-spring-boot-starter
 ${druid.version}
 

然后建立一个 web 包,结构如下:

添加swaggerconfig.java和web包,并在web包下创建TestController

成初步的TestController.java 编写,如下图所示:

TestController.java

TestController.java

文件如下:

import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * @author hzp
 */
@RestController
@Api(tags = "Test")
public class TestController {

 @ApiOperation(value = "测试", httpMethod = "GET")
 @GetMapping("/hello")
 public String testController(){
 return "hello,world!";
 }
}

完善application.yml 文件如下:

server:
 port: 8088

spring:
 datasource:
 type: com.alibaba.druid.pool.DruidDataSource
 driver-class-name: com.mysql.cj.jdbc.Driver
 url: jdbc:mysql://loaclhost:3306/test?useUnicode=true&characterEncoding=utf-8&serverTimezOne=Asia/Shanghai
 username: root
 password: 123456
 druid:
 initial-size: 5 #连接池初始化大小
 min-idle: 10 #最小空闲连接数
 max-active: 20 #最大连接数
 # web-stat-filter:
 # exclusions: "*.js,*.gif,*.jpg,*.png,*.css,*.ico,/druid/*" #不统计这些请求数据
 stat-view-servlet: #访问监控网页的登录用户名和密码
 login-username: druid
 login-password: druid

#是否开启 swagger-ui
swagger:
 enabled: true

mybatis-plus:
 # 如果是放在src/main/java目录下 classpath:/com/*/*/mapper/*Mapper.xml
 # 如果是放在resource目录 classpath:/mapper/**.xml
 mapper-locations: classpath:/mapper/**.xml
 configuration:
 log-impl: org.apache.ibatis.logging.stdout.StdOutImpl

记住一定要有数据库连接哟,这要的话 中间的 druid 等引入起来比较方便。

启动项目后如图所示:

在这里插入图片描述

当然你也可以直接使用 链接进行访问:
localhost:8088/test 出现如图所示:

在这里插入图片描述

至此,整个介绍基本完成,后续会上传代码到 git 上,感谢您的观看。

到此这篇关于springboot+swagger2.10.5+mybatis-plus 入门的文章就介绍到这了,更多相关springboot swagger2.10.5 mybatis-plus 入门内容请搜索以前的文章或继续浏览下面的相关文章希望大家以后多多支持!


推荐阅读
  • Skywalking系列博客1安装单机版 Skywalking的快速安装方法
    本文介绍了如何快速安装单机版的Skywalking,包括下载、环境需求和端口检查等步骤。同时提供了百度盘下载地址和查询端口是否被占用的命令。 ... [详细]
  • 在Docker中,将主机目录挂载到容器中作为volume使用时,常常会遇到文件权限问题。这是因为容器内外的UID不同所导致的。本文介绍了解决这个问题的方法,包括使用gosu和suexec工具以及在Dockerfile中配置volume的权限。通过这些方法,可以避免在使用Docker时出现无写权限的情况。 ... [详细]
  • Centos7.6安装Gitlab教程及注意事项
    本文介绍了在Centos7.6系统下安装Gitlab的详细教程,并提供了一些注意事项。教程包括查看系统版本、安装必要的软件包、配置防火墙等步骤。同时,还强调了使用阿里云服务器时的特殊配置需求,以及建议至少4GB的可用RAM来运行GitLab。 ... [详细]
  • Webmin远程命令执行漏洞复现及防护方法
    本文介绍了Webmin远程命令执行漏洞CVE-2019-15107的漏洞详情和复现方法,同时提供了防护方法。漏洞存在于Webmin的找回密码页面中,攻击者无需权限即可注入命令并执行任意系统命令。文章还提供了相关参考链接和搭建靶场的步骤。此外,还指出了参考链接中的数据包不准确的问题,并解释了漏洞触发的条件。最后,给出了防护方法以避免受到该漏洞的攻击。 ... [详细]
  • Java验证码——kaptcha的使用配置及样式
    本文介绍了如何使用kaptcha库来实现Java验证码的配置和样式设置,包括pom.xml的依赖配置和web.xml中servlet的配置。 ... [详细]
  • 如何在服务器主机上实现文件共享的方法和工具
    本文介绍了在服务器主机上实现文件共享的方法和工具,包括Linux主机和Windows主机的文件传输方式,Web运维和FTP/SFTP客户端运维两种方式,以及使用WinSCP工具将文件上传至Linux云服务器的操作方法。此外,还介绍了在迁移过程中需要安装迁移Agent并输入目的端服务器所在华为云的AK/SK,以及主机迁移服务会收集的源端服务器信息。 ... [详细]
  • 本文讨论了在数据库打开和关闭状态下,重新命名或移动数据文件和日志文件的情况。针对性能和维护原因,需要将数据库文件移动到不同的磁盘上或重新分配到新的磁盘上的情况,以及在操作系统级别移动或重命名数据文件但未在数据库层进行重命名导致报错的情况。通过三个方面进行讨论。 ... [详细]
  • imx6ull开发板驱动MT7601U无线网卡的方法和步骤详解
    本文详细介绍了在imx6ull开发板上驱动MT7601U无线网卡的方法和步骤。首先介绍了开发环境和硬件平台,然后说明了MT7601U驱动已经集成在linux内核的linux-4.x.x/drivers/net/wireless/mediatek/mt7601u文件中。接着介绍了移植mt7601u驱动的过程,包括编译内核和配置设备驱动。最后,列举了关键词和相关信息供读者参考。 ... [详细]
  • 服务器上的操作系统有哪些,如何选择适合的操作系统?
    本文介绍了服务器上常见的操作系统,包括系统盘镜像、数据盘镜像和整机镜像的数量。同时,还介绍了共享镜像的限制和使用方法。此外,还提供了关于华为云服务的帮助中心,其中包括产品简介、价格说明、购买指南、用户指南、API参考、最佳实践、常见问题和视频帮助等技术文档。对于裸金属服务器的远程登录,本文介绍了使用密钥对登录的方法,并提供了部分操作系统配置示例。最后,还提到了SUSE云耀云服务器的特点和快速搭建方法。 ... [详细]
  • SpringMVC接收请求参数的方式总结
    本文总结了在SpringMVC开发中处理控制器参数的各种方式,包括处理使用@RequestParam注解的参数、MultipartFile类型参数和Simple类型参数的RequestParamMethodArgumentResolver,处理@RequestBody注解的参数的RequestResponseBodyMethodProcessor,以及PathVariableMapMethodArgumentResol等子类。 ... [详细]
  • MySQL中的MVVC多版本并发控制机制的应用及实现
    本文介绍了MySQL中MVCC的应用及实现机制。MVCC是一种提高并发性能的技术,通过对事务内读取的内存进行处理,避免写操作堵塞读操作的并发问题。与其他数据库系统的MVCC实现机制不尽相同,MySQL的MVCC是在undolog中实现的。通过undolog可以找回数据的历史版本,提供给用户读取或在回滚时覆盖数据页上的数据。MySQL的大多数事务型存储引擎都实现了MVCC,但各自的实现机制有所不同。 ... [详细]
  • Linux环境变量$PATH的作用及使用方法
    本文介绍了Linux环境变量$PATH的作用及使用方法。$PATH是一个由多个目录组成的变量,用冒号分隔。当执行一个指令时,系统会按照$PATH定义的目录顺序搜索同名的可执行文件,如果有多个同名指令,则先找到的会被执行。通过设置$PATH变量,可以在任何地方执行指令,无需输入绝对路径。 ... [详细]
  • Windows7企业版怎样存储安全新功能详解
    本文介绍了电脑公司发布的GHOST WIN7 SP1 X64 通用特别版 V2019.12,软件大小为5.71 GB,支持简体中文,属于国产软件,免费使用。文章还提到了用户评分和软件分类为Win7系统,运行环境为Windows。同时,文章还介绍了平台检测结果,无插件,通过了360、腾讯、金山和瑞星的检测。此外,文章还提到了本地下载文件大小为5.71 GB,需要先下载高速下载器才能进行高速下载。最后,文章详细解释了Windows7企业版的存储安全新功能。 ... [详细]
  • 如何去除Win7快捷方式的箭头
    本文介绍了如何去除Win7快捷方式的箭头的方法,通过生成一个透明的ico图标并将其命名为Empty.ico,将图标复制到windows目录下,并导入注册表,即可去除箭头。这样做可以改善默认快捷方式的外观,提升桌面整洁度。 ... [详细]
  • 学习笔记(34):第三阶段4.2.6:SpringCloud Config配置中心的应用与原理第三阶段4.2.6SpringCloud Config配置中心的应用与原理
    立即学习:https:edu.csdn.netcourseplay29983432482?utm_sourceblogtoedu配置中心得核心逻辑springcloudconfi ... [详细]
author-avatar
壹起等绿灯
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有