前后台分离式开发(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类、映射接口和映射文件
<?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)的更多相关文章
- 前后台分离开发--文件上传与下载,cookie,session
一.前后台分离开发的概念 ''' 1. 前台页面运行在前台服务器上,负责页面的渲染(静态文件的加载)与转跳 2. 后台代码运行在后台服务器上,负责数据的处理(提供数据请求的接口) ''' #如果没有前 ...
- vue+webpack项目中使用dev-server搭建虚拟服务器,请求json文件数据,实现前后台分离开发
在项目开发中,前后台分离,做了假数据,项目使用vue2.0重构,后台也推到重来了,为了不耽误开发进程,我做了虚拟的数据请求,使用vue-cli脚手架搭建的项目文件中dev-server搭建虚拟api请 ...
- 前后台分离开发时遇到循环引用问题"$ref"
1. 遇到的问题 { "errMsg": "", "data": { "baseinfo": { "freeT ...
- HTTP RESTful服务开发 spring boot+Maven +Swagger
这周配合第三方平台整合系统,需要提供HTTP REST服务和使用ActiveMQ推送消息,研究了下,做个笔记. 1.使用eclipse创建Spring Boot项目 创建Spring Boot项目( ...
- Restful风格API接口开发springMVC篇
Restful风格的API是一种软件架构风格,设计风格而不是标准,只是提供了一组设计原则和约束条件.它主要用于客户端和服务器交互类的软件.基于这个风格设计的软件可以更简洁,更有层次,更易于实现缓存等机 ...
- 5款强大的Java Web开发工具
1.WebBuilder这是一款开源的可视化Web应用开发和运行平台.基于浏览器的集成开发环境,采用可视化的设计模式,支持控件的拖拽操作,能轻松完成前后台应用开发:高效.稳定和可扩展的特点,适合复杂企 ...
- 2016开发一个app需要多少钱?app开发需要哪些成本-app开发问题汇总-广州达到信息
作为一个APP开发从业者,被外行的朋友们问及最多的问题是,"做一个网站需要多少钱?"或者"开发一个APP需要多少钱?".作为开发过完整网站项目和手机APP的人, ...
- 前后台彻底分离的核心文件bridge.js.
具体代码可以在我的git上下载:https://github.com/guoyansi/bridge 这里的后台使用java写的,如果不了解java的童鞋可以忽略下面这样图片. bridge.js / ...
- Java 快速开发平台 WB 6.8 发布
WebBuilder是一款开源的可视化Web应用开发和运行平台. 基于浏览器的集成开发环境,采用可视化的设计模式,支持控件的拖拽操作,能轻松完成前后台应用开发: 高效.稳定和可扩展的特点,适合复杂企业 ...
随机推荐
- js 动态声明变量
var object = {}; for(var i=0; i<5; i++){ object['attr'+i] = i; }
- 百度自动推送js
<!DOCTYPE html> <!-- saved from url=(0014)about:internet --> <html> <head> & ...
- html 手机web超出屏幕宽度的内容不换行,并产生横向滚动条
html 手机web超出屏幕宽度的内容不换行,并产生横向滚动条 white-space: nowrap;overflow-x: scroll;
- 使用PeopleSoft 异步操作设置步骤
在手机端调PS接口或同步数据到中间库等程序中经常用到异步操作. 在主菜单>PeopleTools>集成代理程序>集成设置中添加了服务和服务操作后需要设置以下3步才能完成异步程序: 1 ...
- Android studio button 按钮 四种绑定事件的方法
package com.geli_2.sujie.sujiegeili2testbutton; import android.os.Bundle; import android.support.v7. ...
- OleDbConnection SqlConnection DB2Connection 区别
OleDbConnection适合于连接任何类型的数据库(如Oracle,SQL Server,ACCESS等),其命名空间为:using System.Data.OleDb;.而SqlConne ...
- 搞定pycharm专业版的安装
学习python也有一段时间了,装了python2,也装了python3.对于IDE当然首选了人人拍掌叫好的pycharm.其实作为小白,一开始的时候并不知道什么是IDE,什么是pychram,以为装 ...
- Django之MVC与MTV
MVC框架 MVC全名是Model View Controller,是模型(model)-视图(view)-控制器(controller)的缩写 模型 - 视图 - 控制器是一种通常用于开发用户界面的 ...
- Georgia Tech Online Master of Science in Computer Science 项目经验分享
Georgia Tech Online Master of Science in Computer Science 项目经验分享 Posted on 2014/04/22 项目关键词:工科名校,计算机 ...
- Docker容器学习与分享03
Docker容器的基本操作 所有的docker命令都是以docker开头,也就是指调用docker程序.我学习的第一个命令就是docker run,运行一个容器.以Docker分享02中的容器为例: ...