Java高并发秒杀系统API之SSM框架集成swagger与AdminLTE
2018-01-25 15:49
811 查看
初衷与整理描述
上手
Maven 自动生成项目
pomxml
基础业务编写
初步效果
swagger集成
swagger 效果
AdminLTE 以其他
github
学习java的初衷一个是公司转行,二是自己也想学学看,增加下技术的厚度,多了解下不同编程语言,不同实现方式。融会贯通,才能打通任督二脉。之前也看过python的东西,但是兴趣不大,Java毕竟生态很好,各种大神很多,每个语言也有不同的优缺点,多了解有利于自身发展。
关于这个秒杀系统园子已经有几位大神写过了相关的文章,其实本不想献丑的,权且当作学习笔记看吧,重点讲的是在这个系统之上集成swagger和AdminLTE,为什么集成它们呢,因为我已经在c#.net项目里面做过相关的内容,
ABP+AdminLTE+Bootstrap Table权限管理系统一期 ,哈哈,自我营销一下,有兴趣的朋友可以看一下顺便点个赞再走?
本来以为swagger ui和AdminLTE集成会很简单的,但是动手去做的时候发现了很多问题,由于我之前就是抱着先写一个web项目再说的初衷去做的,做完之后确实发现了很多问题,其实最重要的问题就是基础不牢,地动山摇,写完这篇文章之后,我决定要重基础学着来,深度学习一下。包括但不限于像tomcat,servlet,Webservice,MyBatis,Maven,spring,spring boot,spring cloud。
然后是系统变量的配置
Path配置
然后win+R快捷键cmd进入dos窗口,输入命令,mvn -v(注意中间有个空格),回车运行后可以看见maven版本maven home表示安装成功
注意下图中的两个回车,开始我就等了好久没有反应,查看项目没有,
这里的回车大概意思是默认DgroupId和DartifactId。
然后打开上面命令行中的地址,看到如下文件内容说明项目生成成功。
IDEA打开并不全项目结构如下。
接下来配置tomcat.
配置好了打开 localhost:8080就能看到相关效果,这里要注意一个大坑,特别的初入Java朋友,如下图。
老是报无效标记的错误。网上找了大圈都不符合我的错误。最后我下载了jdk1.8版本就解决了,问题就是idea 和jdk 9.0在项目中出现冲突了。问题解决了我也没有去深究,估计还有其他问题。当时各种问题排除了,代码检查了N遍,万万没想到是jdk的错误。
首先当然是去下载swagger,然后引入项目,然后修改index.html里面的url为http://localhost:8080/api-docs。
pom引入jar包。Swagger获取api后是以json形式返回数据给Swagger ui,这里需要引入jackson的相关包
建config包,然后新建SwaggerConfig配置类
然后我们在配置类里面配置一下静态资源的映射路径。
所以就不做累述了,需要的可以clone项目来看下。
上手
Maven 自动生成项目
pomxml
基础业务编写
初步效果
swagger集成
swagger 效果
AdminLTE 以其他
github
初衷与整理描述
Java高并发秒杀系统API是来源于网上教程的一个Java项目,也是我接触Java的第一个项目。本来是一枚c#码农,公司计划部分业务转java,于是我利用业务时间自学Java才有了本文,本来接触之初听别人说,c#要转java很容易,我也信了,但是真正去学习的时候还是踩了无数个坑,好在朋友有几个做安卓的,向他们讨教了一些经验,但是他们做安卓的和web又是两个方向,于是继续一个人默默采坑避雷之旅,首先上手的是下面这个Java高并发秒杀系统API。学习java的初衷一个是公司转行,二是自己也想学学看,增加下技术的厚度,多了解下不同编程语言,不同实现方式。融会贯通,才能打通任督二脉。之前也看过python的东西,但是兴趣不大,Java毕竟生态很好,各种大神很多,每个语言也有不同的优缺点,多了解有利于自身发展。
关于这个秒杀系统园子已经有几位大神写过了相关的文章,其实本不想献丑的,权且当作学习笔记看吧,重点讲的是在这个系统之上集成swagger和AdminLTE,为什么集成它们呢,因为我已经在c#.net项目里面做过相关的内容,
ABP+AdminLTE+Bootstrap Table权限管理系统一期 ,哈哈,自我营销一下,有兴趣的朋友可以看一下顺便点个赞再走?
本来以为swagger ui和AdminLTE集成会很简单的,但是动手去做的时候发现了很多问题,由于我之前就是抱着先写一个web项目再说的初衷去做的,做完之后确实发现了很多问题,其实最重要的问题就是基础不牢,地动山摇,写完这篇文章之后,我决定要重基础学着来,深度学习一下。包括但不限于像tomcat,servlet,Webservice,MyBatis,Maven,spring,spring boot,spring cloud。
上手
废话不多说,开整。关于Java开发环境的配置我就不扯了,网上教程一大堆,说下Maven的配置,首先去官网下载http://maven.apache.org/download.cgi然后是系统变量的配置
Path配置
然后win+R快捷键cmd进入dos窗口,输入命令,mvn -v(注意中间有个空格),回车运行后可以看见maven版本maven home表示安装成功
Maven 自动生成项目
最后在命令行中输入以下命令:mvn archetype:generate -DgroupId=cn.codingxiaxw.seckill -DartifactId=seckill -Dpackage=cn.codingxiaxw.seckill -Dversion=1.0-SNAPSHOT -DarchetypeArtifactId=maven-archetype-webapp注意下图中的两个回车,开始我就等了好久没有反应,查看项目没有,
这里的回车大概意思是默认DgroupId和DartifactId。
然后打开上面命令行中的地址,看到如下文件内容说明项目生成成功。
IDEA打开并不全项目结构如下。
接下来配置tomcat.
配置好了打开 localhost:8080就能看到相关效果,这里要注意一个大坑,特别的初入Java朋友,如下图。
老是报无效标记的错误。网上找了大圈都不符合我的错误。最后我下载了jdk1.8版本就解决了,问题就是idea 和jdk 9.0在项目中出现冲突了。问题解决了我也没有去深究,估计还有其他问题。当时各种问题排除了,代码检查了N遍,万万没想到是jdk的错误。
pom.xml
然后就是配置pom.xml,代码很长我就不贴出来了,直接去我的github pom.xml看吧:https://github.com/Jimmey-Jiang/seckill/blob/master/seckill/pom.xml,这里包含了后面要说的swaggerui 的引入。基础业务编写
接下来就是跟着教程一步一步的写。包括dto,entity,dao,service,web,控制器,视图,test测试类,jsp的编写。具体我就不说了,去我的github上clone下来打开看看就明白了,或者去看教程吧。初步效果
编写完效果如下。swagger集成
其他的代码教程上有,最后重点讲一下swagger的集成。首先当然是去下载swagger,然后引入项目,然后修改index.html里面的url为http://localhost:8080/api-docs。
pom引入jar包。Swagger获取api后是以json形式返回数据给Swagger ui,这里需要引入jackson的相关包
<!--swagger--> <dependency> <groupId>com.mangofactory</groupId> <artifactId>swagger-springmvc</artifactId> <version>1.0.2</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-annotations</artifactId> <version>2.4.4</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.4.4</version> </dependency> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-core</artifactId> <version>2.4.4</version> </dependency>
建config包,然后新建SwaggerConfig配置类
package org.seckill.config; /** * Created by jiangcy on 2018/1/23. */ import com.mangofactory.swagger.configuration.SpringSwaggerConfig; import com.mangofactory.swagger.models.dto.ApiInfo; import com.mangofactory.swagger.plugin.EnableSwagger; import com.mangofactory.swagger.plugin.SwaggerSpringMvcPlugin; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.config.annotation.EnableWebMvc; @Configuration @EnableSwagger @EnableWebMvc public class SwaggerConfig { private SpringSwaggerConfig springSwaggerConfig; /** * Required to autowire SpringSwaggerConfig */ @Autowired public void setSpringSwaggerConfig(SpringSwaggerConfig springSwaggerConfig) { this.springSwaggerConfig = springSwaggerConfig; } /** * Every SwaggerSpringMvcPlugin bean is picked up by the swagger-mvc * framework - allowing for multiple swagger groups i.e. same code base * multiple swagger resource listings. */ @Bean public SwaggerSpringMvcPlugin customImplementation() { return new SwaggerSpringMvcPlugin(this.springSwaggerConfig) .apiInfo(apiInfo()) .includePatterns(".*?"); } private ApiInfo apiInfo() { ApiInfo apiInfo = new ApiInfo( "Swagger测试", "测试查询用户", "开发者: Changxin L", "348686686@gmail.com", "MIT License", "/LICENSE"); return apiInfo; } }
然后我们在配置类里面配置一下静态资源的映射路径。
<!-- 将 springSwaggerConfig加载到spring容器 --> <bean class="com.mangofactory.swagger.configuration.SpringSwaggerConfig" /> <!-- 将自定义的swagger配置类加载到spring容器 --> <bean class="org.seckill.config.SwaggerConfig" /> <mvc:resources mapping="/swagger/**" location="/WEB-INF/swagger/"/> <!-- 定义无需Controller的url<->view直接映射 --> <mvc:view-controller path="/" view-name="../WEB-INF/swagger/index"/>
swagger 效果
如果上述操作准确无误的话,那么你将会看到如下界面:AdminLTE 以其他
AdminLTE 引入就更简单了,不需要jar包,只需要引入静态资源就可以了。所以就不做累述了,需要的可以clone项目来看下。
github
github地址:https://github.com/Jimmey-Jiang/seckill相关文章推荐
- 高并发秒杀系统API之SSM集成swagger与AdminLTE
- Java高并发秒杀系统API
- SSM实战项目——Java高并发秒杀API
- JAVA高并发秒杀API项目的学习笔记
- 一个JavaWeb搭建的开源Blog系统,整合SSM框架
- 2017.4.26 慕课网--Java 高并发秒杀API配置文件(持续更新)
- SSM框架学习之高并发秒杀业务--笔记5-- 并发优化
- SSM框架学习之高并发秒杀业务--笔记1-- 项目的创建和依赖
- JAVA高并发秒杀系统构建之——高并发优化分析
- Java 开发基于Zookeeper,Spring,vue.js的高并发多用户模块化微信商城系统(四) Java微框架Spring Boot的应用
- JAVA高并发秒杀系统构建之——Service层
- Java开发面试:高并发秒杀系统如何设计与优化
- java高并发框架 SSM框架 Spring+SpringMVC+MyBatis
- #Java 高并发秒杀API 笔记
- SSM项目实战(一)--- 高并发秒杀系统之DAO层
- 慕课网-java高并发秒杀api之高并发优化-总结
- 一个JavaWeb搭建的开源Blog系统,整合SSM框架
- SSM项目实战(二)--高并发秒杀系统之Service层
- SSM框架学习之高并发秒杀业务--笔记4-- web层
- SSM项目实战(三)--- 高并发秒杀系统之Web层