一.前后台分离开发(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类、映射接口和映射文件
 <?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE generatorConfiguration
PUBLIC "-//mybatis.org//DTD MyBatis Generator Configuration 1.0//EN"
"http://mybatis.org/dtd/mybatis-generator-config_1_0.dtd">
<!-- mybatis-generator的核心配置文件 -->
<generatorConfiguration>
<classPathEntry location="D:\android\repository\mysql\mysql-connector-java\8.0.15\mysql-connector-java-8.0.15.jar" /> <context id="DB2Tables" targetRuntime="MyBatis3"> <!--自己的远程或者本地的mysql服务器-->
<jdbcConnection driverClass="com.mysql.jdbc.Driver"
connectionURL="jdbc:mysql://127.0.0.1:3306/course"
userId="root"
password="root">
<property name="useInformationSchema" value="true"/>
</jdbcConnection>
<!--指定生成的类型为java类型,避免数据库中number等类型字段 -->
<javaTypeResolver >
<property name="forceBigDecimals" value="false" />
</javaTypeResolver> <!--自动生成的实体的存放包路径 -->
<javaModelGenerator targetPackage="com.briup.apps.app01.bean" targetProject="./src/main/java">
<property name="enableSubPackages" value="true" />
<property name="trimStrings" value="true" />
</javaModelGenerator> <!--自动生成的*Mapper.xml文件存放路径 -->
<sqlMapGenerator targetPackage="mapper" targetProject="./src/main/resources">
<property name="enableSubPackages" value="true" />
</sqlMapGenerator> <!--自动生成的*Mapper.java存放路径 -->
<javaClientGenerator type="XMLMAPPER" targetPackage="com.briup.apps.app01.mapper" targetProject="./src/main/java">
<property name="enableSubPackages" value="true" />
</javaClientGenerator> <!-- 映射配置 -->
<table tableName="c_user" domainObjectName="User" ></table>
<table tableName="c_course" domainObjectName="Course" ></table>
<table tableName="c_student_course" domainObjectName="StudentCourse" ></table> </context>
</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

   

  相应的目录中会生成相应的bean、mapper映射文件

  ......

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).打开浏览器进行测试,是否成功

    

前后台分离式开发(swagger)的更多相关文章

  1. 前后台分离开发--文件上传与下载,cookie,session

    一.前后台分离开发的概念 ''' 1. 前台页面运行在前台服务器上,负责页面的渲染(静态文件的加载)与转跳 2. 后台代码运行在后台服务器上,负责数据的处理(提供数据请求的接口) ''' #如果没有前 ...

  2. vue+webpack项目中使用dev-server搭建虚拟服务器,请求json文件数据,实现前后台分离开发

    在项目开发中,前后台分离,做了假数据,项目使用vue2.0重构,后台也推到重来了,为了不耽误开发进程,我做了虚拟的数据请求,使用vue-cli脚手架搭建的项目文件中dev-server搭建虚拟api请 ...

  3. 前后台分离开发时遇到循环引用问题"$ref"

    1. 遇到的问题 { "errMsg": "", "data": { "baseinfo": { "freeT ...

  4. HTTP RESTful服务开发 spring boot+Maven +Swagger

    这周配合第三方平台整合系统,需要提供HTTP REST服务和使用ActiveMQ推送消息,研究了下,做个笔记. 1.使用eclipse创建Spring Boot项目  创建Spring Boot项目( ...

  5. Restful风格API接口开发springMVC篇

    Restful风格的API是一种软件架构风格,设计风格而不是标准,只是提供了一组设计原则和约束条件.它主要用于客户端和服务器交互类的软件.基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机 ...

  6. 5款强大的Java Web开发工具

    1.WebBuilder这是一款开源的可视化Web应用开发和运行平台.基于浏览器的集成开发环境,采用可视化的设计模式,支持控件的拖拽操作,能轻松完成前后台应用开发:高效.稳定和可扩展的特点,适合复杂企 ...

  7. 2016开发一个app需要多少钱?app开发需要哪些成本-app开发问题汇总-广州达到信息

    作为一个APP开发从业者,被外行的朋友们问及最多的问题是,"做一个网站需要多少钱?"或者"开发一个APP需要多少钱?".作为开发过完整网站项目和手机APP的人, ...

  8. 前后台彻底分离的核心文件bridge.js.

    具体代码可以在我的git上下载:https://github.com/guoyansi/bridge 这里的后台使用java写的,如果不了解java的童鞋可以忽略下面这样图片. bridge.js / ...

  9. Java 快速开发平台 WB 6.8 发布

    WebBuilder是一款开源的可视化Web应用开发和运行平台. 基于浏览器的集成开发环境,采用可视化的设计模式,支持控件的拖拽操作,能轻松完成前后台应用开发: 高效.稳定和可扩展的特点,适合复杂企业 ...

随机推荐

  1. IDEA项目搭建三——简单配置Maven使用国内及本地仓库

    大家在前面创建时发现Maven下载jar包的时候会很慢,我们又引入了自己的Maven,所以可以配置一下不让其去国外下载jar包,而使用国内的镜像站来加快下载速度 1.找到Maven所在文件夹 2.在c ...

  2. nginx禁止ip默认参数是$remote_addr无法禁止真实ip的问题

    由于网站使用了cdn所以$remote_addr获取的ip是cdn的ip,我现在先禁止某些ip访问发现无法禁止cdn传递过来的客户端的ip也就是$http_x_forwarded_for这个参数.比如 ...

  3. MySQL数据库封装和分页查询

    1.数据库封装 <?php //我用的数据库名是housedb class DBDA {public $host="localhost";public $uid=" ...

  4. Windows应用程序进程级别统一监控实践

    一般的系统级别指标监控,更多关注CPU.内存.磁盘.网络等运行情况,对应用程序运行时的进程指标关注不够,导致不能深入了解系统运行状态.本文根据笔者应用实践,探讨一下进程级别监控涉及到的监控内容以及监控 ...

  5. 腾讯TBS X5 WebView的简单使用

    工作中经常涉及H5网页的加载工作,最多使用的就是安卓系统控件WebView,但是当网页内容比较多的时候,需要等待很久才能加载完,加载完后用户才能看到网页中的内容,这样用户需要等很久,体验很差. 那能不 ...

  6. mysql的又一个让人捉摸不透的bug?

    这次就不说很多没有写博客了,因为前几天已经写过了.\^o^/ 昨天我们刚讨论了关于自动化运维工作的实现方式,如果批量执行,中间出错怎么办?突然有人提出mysql支持--force,可以跳过出错继续执行 ...

  7. 简单了解Tomcat与OSGi的类加载器架构

    前言: 本次博客主要是对Tomcat与OSGi的类加载器架构,所以就需要对tomcat.OSGi以及类加载机制有所了解 类加载可以在http://www.cnblogs.com/ghoster/p/7 ...

  8. JavaScript获取请求参数

    <script type="text/javascript"> //获取请求参数 function paramsMap() { var url = window.loc ...

  9. AD域创建用户无法登录

    怎么登录都无法登录 解决办法: 创建用户的时候   将用户下次登录时须更改密码的勾去掉    不然需要修改密码才可以登录

  10. 51nod 贪心算法题集

    2070 最小罚款: 题意:初始有n元,每个任务有2个参数:t和w,<=t时刻前完成任务才可避免造成损失w.问:如何安排才能尽可能避免损失?一个任务执行时间是一个单位时间. 分析:任务按时间排个 ...