前后台分离式开发(swagger)

一.前后台分离开发(swagger)

1.安装maven

  配置的maven环境变量   

    M2_HOME/MAVEN_HOME

    Path

      %M2_HOME%/bin

    打开运行窗口:输入mvn -v,查看是否安装好。

  settings中的设置仓库的位置,仓库我已经给出,在我的百度网盘下载即可   

      链接:https://pan.baidu.com/s/193SKtpG62Fyq3vQgTgPgGA

      提取码:ksa5

2.eclipse中配置maven

  eclipse中配置maven,配置过程在网上搜索“eclipse maven配置过程”,这里不在详述

  jdk配置这里不再详述,在网上搜索即可

3.eclipse更改jdk环境

      

4.创建项目,引入的依赖,暂时引入基本的几个依赖

  注:整个项目的创建过程必须在联网状态,他会自动下载些依赖和jar

      

5.在项目中新建以下几个包,用于存放自动生成的bean类、映射接口和映射文件

      

6.插入文件generatorConfig.xml,代码如下

         

  注:代码中有几个地方需要更改

    在第七行是自己配置的仓库中的jar包,注意路径别写错了。

    jdbcConnection标签的属性需要更改,填写自己的远程或者本地的mysql数据库

     javaModelGenerator标签的targetPackage属性要更改(存放自动生成的bean类)
     sqlMapGenerator,标签的属性targetPackage值要更改(自动生成的*Mapper.xml文件存放路径
   javaClientGenerator标签属性targetPackage值要更改(自动生成的*Mapper.java存放路径)
   在最后的映射配置块中:根据数据库中表以及业务逻辑情况自动生成bean类、映射接口和映射文件
 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <!DOCTYPE generatorConfiguration
 3   PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
 4   "http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
 5 <!-- mybatis-generator的核心配置文件 -->
 6 <generatorConfiguration>
 7   <classPathEntry location="D:android
epositorymysqlmysql-connector-java8.0.15mysql-connector-java-8.0.15.jar" />
 8 
 9   <context id="DB2Tables" targetRuntime="MyBatis3">
10 
11     <!--自己的远程或者本地的mysql服务器-->
12     <jdbcConnection driverClass="com.mysql.jdbc.Driver"
13                     connectionURL="jdbc:mysql://127.0.0.1:3306/course" 
14                     userId="root"
15                     password="root">
16       <property name="useInformationSchema" value="true"/>
17     </jdbcConnection>
18     <!--指定生成的类型为java类型,避免数据库中number等类型字段 -->
19     <javaTypeResolver >
20       <property name="forceBigDecimals" value="false" />
21     </javaTypeResolver>
22 
23     <!--自动生成的实体的存放包路径 -->
24     <javaModelGenerator targetPackage="com.briup.apps.app01.bean" targetProject="./src/main/java">
25       <property name="enableSubPackages" value="true" />
26       <property name="trimStrings" value="true" />
27     </javaModelGenerator>
28 
29     <!--自动生成的*Mapper.xml文件存放路径 -->
30     <sqlMapGenerator targetPackage="mapper"  targetProject="./src/main/resources">
31       <property name="enableSubPackages" value="true" />
32     </sqlMapGenerator>
33 
34     <!--自动生成的*Mapper.java存放路径 -->
35     <javaClientGenerator type="XMLMAPPER" targetPackage="com.briup.apps.app01.mapper"  targetProject="./src/main/java">
36       <property name="enableSubPackages" value="true" />
37     </javaClientGenerator>
38 
39     
40     <!-- 映射配置 -->
41     <table tableName="c_user" domainObjectName="User" ></table>
42     <table tableName="c_course" domainObjectName="Course" ></table>
43     <table tableName="c_student_course" domainObjectName="StudentCourse" ></table>
44 
45   </context>
46 </generatorConfiguration>

 7.在pom.xml文件中添加依赖、添加插件

    在<build>中的<plugins>标签中添加mybatis-generator插件,代码如下:

<plugin>
     <groupId>org.mybatis.generator</groupId>
     <artifactId>mybatis-generator-maven-plugin</artifactId>
     <version>1.3.5</version>
</plugin>

    dependencys标签中添加swagger2的依赖,代码如下:

<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger2</artifactId>
    <version>2.6.1</version>
</dependency>
<dependency>
    <groupId>io.springfox</groupId>
    <artifactId>springfox-swagger-ui</artifactId>
    <version>2.6.1</version>
</dependency>

 Ctrl+s保存,等eclipse最下方的进度条完了之后在进行下一步操作。

    

8.修改application.properties

#本地
#spring.datasource.driverClassName=com.mysql.jdbc.Driver
#spring.datasource.url=jdbc:mysql://localhost:3306/course?serverTimezone=UTC
#spring.datasource.username=root
#spring.datasource.password=root

#远程
spring.datasource.driverClassName=com.mysql.jdbc.Driver
spring.datasource.url=jdbc:mysql://*.*.*.*:3306/course?useUnicode=true&characterEncoding=utf-8
spring.datasource.username=root
spring.datasource.password=root

server.port=8888

mybatis.mapper-locations= classpath:/mapper/**/*.xml 

 9.打开命令窗口,执行generatorConfig.xml文件

  mvn -Dmybatis.generator.overwrite=true mybatis-generator:generate

   

  相应的目录中会生成相应的beanmapper映射文件

  ......

10.创建Swagger2配置类

1)config包中创建Swagger2的配置类Swagger2

      

@Configuration
@EnableSwagger2
public class Swagger2 {

    @Bean
    public Docket createRestApi() {
        return new Docket(DocumentationType.SWAGGER_2)
                .apiInfo(apiInfo())
                .select()
                .apis(RequestHandlerSelectors.basePackage("com.briup.apps.app01.web"))
                .paths(PathSelectors.any())
                .build();
    }
    private ApiInfo apiInfo() {
        return new ApiInfoBuilder()
                .title("Spring Boot中使用Swagger2构建RESTful APIs")
                .description("更多Spring Boot相关文章请关注:http://blog.didispace.com/")
                .termsOfServiceUrl("http://blog.didispace.com/")
                .contact("程序猿DD")
                .version("1.0")
                .build();
    }
}

   如上代码所示,通过@Configuration注解,让Spring来加载该类配置。再通过@EnableSwagger2注解来启用Swagger2.

再通过createRestApi函数创建Docket的Bean之后,apiInfo()用来创建该Api的基本信息(这些基本信息会展现在文档页面中)

2)添加文档内容(后期的业务逻辑中,首次框架搭建这里可以跳过)

  在controller中使用注解

  @ApiOperation注解来给API增加说明

  @ApiImplicitParams、@ApiImplicitParam注解来给参数增加说明

  如下截图所示

  

11.添加@MapperScan注释的类(用户扫描mapper包下的所有mapper映射接口类)

          

  代码如下

package com.briup.apps.app01.config;

import org.mybatis.spring.annotation.MapperScan;
import org.springframework.context.annotation.Configuration;

@Configuration
//扫面com.briup.apps.app01.mapper包下的所有的mapper映射接口 @MapperScan(
"com.briup.apps.app01.mapper") public class MybatisConfig { }

12.运行项目:mvn spring-boot:run

    

    打开浏览器测试是否运行成功。

    

13.项目打包

  如果项目要进行打包,这里打成war包,

1)pom.xml文件中更改包的类型

    

2).pom.xml文件中添加跳过测试

    

3).打包

    Goals中输入:package

      

  得到包:

      

  运行测试包

     

4).打开浏览器进行测试,是否成功

    

原文地址:https://www.cnblogs.com/Harriss/p/10755091.html