springboot+swagger2.10.5+mybatis

网友投稿 424 2022-11-08


springboot+swagger2.10.5+mybatis

最新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及以后版本

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 进行配置,如图:

1.开始搭建项目

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

选择后出现如下图片:

点击选择红色方框:

点击next进行下一步选择:

选择后点击 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&ltXjVdzEYqW;/scope>

org.junit.vintage

junit-vintage-engine

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

com.baomidou

mybatis-plus-boot-starter

3.3.2

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

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

再创建一个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 包,结构如下:

成初步的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")

publihttp://c 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 上,感谢您的观看。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:springboot使用swagger
下一篇:Spring 单元测试中如何进行 mock的实现
相关文章

 发表评论

暂时没有评论,来抢沙发吧~