zoukankan      html  css  js  c++  java
  • 前后台分离式开发(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).打开浏览器进行测试,是否成功

        

  • 相关阅读:
    再看到一则有关Anders的……
    arp好烦!123.8w8w8w,自己建了一个内网的nod32升级服务器。
    在看discuz nt 1.0。
    顺便说一下,这边速度好快?
    没什么可说。
    昨天看王建硕的blog,在说《胡适日记》的事。
    c# 深复制 浅复制(转)
    foreach yield
    Array
    JQuery.fn.extend(object) jQuery.extend(object) 转
  • 原文地址:https://www.cnblogs.com/Harriss/p/10755091.html
Copyright © 2011-2022 走看看