java之springboot的swagger-spring-boot-starter的swagger的使用(三)

一,根据上篇博客java之springboot的mybatis的使用(一)的基础上,我们添加swagger,如下,我们引入包

pom.xml文件

<?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 http://maven.apache.org/xsd/maven-4.0.0.xsd">
    <modelVersion>4.0.0</modelVersion>

    <groupId>com.nl.testmybatis</groupId>
    <artifactId>testmybatis</artifactId>
    <version>1.0-SNAPSHOT</version>

    <parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.2.7.RELEASE</version>
    </parent>

    <dependencies>
        <!--springframework.boot-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!--这个mysql驱动-->
        <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
            <version>8.0.20</version>
        </dependency>
        <!--mybatis-->
        <dependency>
            <groupId>org.mybatis.spring.boot</groupId>
            <artifactId>mybatis-spring-boot-starter</artifactId>
            <version>2.1.3</version>
        </dependency>
        <!-- swagger-国人封装的swagger -->
        <dependency>
            <groupId>com.spring4all</groupId>
            <artifactId>swagger-spring-boot-starter</artifactId>
            <version>1.9.0.RELEASE</version>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <!--在使用mybatis时我们需要重复的去创建pojo类、mapper文件以及dao类并且需要配置它们之间的依赖关系,
            比较麻烦且做了大量的重复工作,mybatis官方也发现了这个问题,
            因此给我们提供了mybatis generator工具来帮我们自动创建pojo类、
            mapper文件以及dao类并且会帮我们配置好它们的依赖关系。
            -->
            <plugin>
                <groupId>org.mybatis.generator</groupId>
                <artifactId>mybatis-generator-maven-plugin</artifactId>
                <configuration>
                    <configurationFile>${project.basedir}/src/main/resources/generatorConfig.xml</configurationFile>
                    <overwrite>true</overwrite>
                </configuration>
                <dependencies>
                    <dependency>
                        <groupId>mysql</groupId>
                        <artifactId>mysql-connector-java</artifactId>
                        <version>8.0.20</version>
                    </dependency>
                </dependencies>
            </plugin>
        </plugins>
    </build>
</project>

如下这个包才是重点

    <!-- swagger-国人封装的swagger -->
        <dependency>
            <groupId>com.spring4all</groupId>
            <artifactId>swagger-spring-boot-starter</artifactId>
            <version>1.9.0.RELEASE</version>
        </dependency>

这包国人封装的,包含了swagger的包了,所以只需要引用这个包即可

 

 

二,我们添加swagger的配置

package com.nl.testmybatis.config;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;
import springfox.documentation.builders.PathSelectors;
import springfox.documentation.builders.RequestHandlerSelectors;
import springfox.documentation.spi.DocumentationType;
import springfox.documentation.spring.web.paths.RelativePathProvider;
import springfox.documentation.spring.web.plugins.Docket;
import springfox.documentation.swagger2.annotations.EnableSwagger2;

import javax.servlet.ServletContext;

@Configuration
@EnableSwagger2
public class SwaggerConfig {
    @Autowired
    /*ServletContext,是一个全局的储存信息的空间,服务器开始,其就存在,服务器关闭,
    其才释放。request,一个用户可有多个;session,一个用户一个;而servletContext,
    所有用户共用一个。所以,为了节省空间,提高效率,ServletContext中,
    要放必须的、重要的、所有用户需要共享的线程又是安全的一些信息。*/
    private ServletContext servletContext;

    @Bean
    public Docket docket() {
        return new Docket(DocumentationType.SWAGGER_2)
                .enable(true)
                .select()
                //接口的包名
                .apis(RequestHandlerSelectors.basePackage("com.nl.testmybatis.controllers"))
                .paths(PathSelectors.any())
                .build()
                .pathProvider(new RelativePathProvider(servletContext) {
                    @Override
                    public String getApplicationBasePath() {
                        return "/";
                    }
                });
    }
}

三,我们的代码接口如下

 

 四,这个时候我们就可以运行了,由于没有更改任何路径配置,默认访问http://localhost:8080/swagger-ui.html#/

 

 简单的swagger配置就完成了

 

posted @ 2021-01-07 00:33  叶丶梓轩  阅读(1438)  评论(0编辑  收藏  举报