韩非一听点头道:“这个我们会藏好的,英国人来检查你先去挡着。”

相比起来我一开始召唤出超魔导剑士而言,刘皓起码省下了几张手卡能拿到其他布局用的魔法陷阱或者是怪兽卡。”暗游戏心里思索着,自己只剩下一张覆盖卡了,这可是十分关键的。

朴槿惠:我来,只为人要活得真诚和正直

显然他们彼此都深刻的认识到了刘皓他们的威胁性,如果再继续任由对方肆虐下去的话这一场战争甚至是以后都会向一种无法预料的方向发展下去这绝对不是他们两人想看到的。
听到璎珞的这句话后,那人脸上的表情微微一动,露出了一丝欢愉的笑意。

高仙芝点了点头,“很好,你让我想到了一条妙计,不过这条计策我打算让席元庆来实施,我会另给你一个同样重要的任务。”

高并发秒杀系统API之SSM集成swagger与AdminLTE


初衷与整理描述

Java高并发秒杀系统API是来源于网上教程的一个Java项目,慕课网地址:https://www.imooc.com/learn/587。 也是我接触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
image.png
image.png
然后是系统变量的配置
image.png
Path配置
image.png

然后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。
image.png

image.png
然后打开上面命令行中的地址,看到如下文件内容说明项目生成成功。

image.png
IDEA打开并不全项目结构如下。
image.png

接下来配置tomcat.
image.png

image.png

配置好了打开 localhost:8080就能看到相关效果,这里要注意一个大坑,特别的初入Java朋友,如下图。

image.png

老是报无效标记的错误。网上找了大圈都不符合我的错误。最后我下载了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 的引入。
image.png

基础业务编写

接下来就是跟着教程一步一步的写。包括dto,entity,dao,service,web,控制器,视图,test测试类,jsp的编写。具体我就不说了,去我的github上clone下来打开看看就明白了,或者去看教程吧。

image.png

初步效果

编写完效果如下。
image.png

image.png

swagger集成

其他的代码教程上有,最后重点讲一下swagger的集成。
首先当然是去下载swagger,然后引入项目,然后修改index.html里面的url为http://localhost:8080/api-docs。
image.png

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;
    }
}

然后我们在配置类里面配置一下静态资源的映射路径。
image.png

    <!-- 将 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 效果

如果上述操作准确无误的话,那么你将会看到如下界面:

image.png

AdminLTE 以其他

AdminLTE 引入就更简单了,不需要jar包,只需要引入静态资源就可以了。
所以就不做累述了,需要的可以clone项目来看下。

image.png

image.png

image.png

image.png

image.png

image.png

github

github地址:https://github.com/Jimmey-Jiang/seckill

当前文章:http://hnhdqp.com/html_12474.html

发布时间:2019-03-22 00:28:25

当父母在做这十件事时,请让孩子看见 该如何处理女友的逼婚? 罗李华讲易经之----乾为天 罗李华谈:属猪的人2016年运程 柠檬,杨桃,遇上科罗娜 赚钱更难吃的更惨 哪个女人不是危险型 从什么时候起,我开始害怕送花的人!

为孩子去学心理学,必要么? 小学新生的艰难心路让人心疼 孩子出生重要的前3年 你了解恋人的依恋风格吗? 《芈月传》告诉你:没把孩子管教好,成了赢家又如何? 花博士教你:男女之间的风水很重要!这不是迷信! 罗李华简谈2016年十二生肖运势 新加坡心理卫生学院调查显示 15%病态赌徒曾想自杀 为什么现在的女孩越来越难追? 女优卖胸与日本本土AV文化不符 人人都有“妄想症” 隐身在线的男友不主动理我 我如此卑微,如何爱你 《琅琊榜》“泰”有味,秒杀韩国欧巴 你还不是娶了别人,我也没有嫁给你 恐怖袭击接踵而至,法国怎么了? 懒是婚姻的致命伤 宝宝皮肤过敏日常护理 性是一生最美的事情

编辑:开徒

相关新闻

金河小区居民期盼早日供暖

2019-03-22 00:40:32

郴州募滩食品有限公司

梦想还是要有的,万一在创业周上实现了呢

2019-03-22 00:37:43

安徽刚菏昭科技有限公司

科技杂侃:微博与微信谁能走得更远?

2019-03-22 00:43:13

海口挚严科技

神东大柳塔煤矿实现辅运管理自动化

2019-03-22 00:43:40

阿里偕行美容美发化妆学校

热门推荐

  • Java入门篇(三)——Java流程控制
  • 北京大兴发生火灾:明火已被扑灭 救出的人员已送往医院
  • 老人家,我们带您回家!
  • 海南黄花梨成就了经典明式家具,谁将成就下一个经典?
  • IDC:2017年Q3平板出货量连续12季度下滑,苹果逆势增长
  • QQ办公简洁版:腾讯TIM iOS版v2.0.1更新,强化云文件
  • JAVA提高十:ArrayList 深入分析
  • 《开心OL》凤凰涅槃 Win10 PC版本全新看点
  • 广西来宾暴雨致山体松动泛起滑坡 巨石滚落高速公路
  • 王毅:朋侪需要时我们愿意伸出援手助一臂之力
  • 河北新闻网版权所有 本站点信息未经允许不得复制或镜像 法律顾问:有一天,你会变得很棒 小学新生:要做哪些准备适应新环境
  • 网购化妆品怎么辨别真伪 copyright ? 2000 - 2016
  • 新闻热线:0311-67563366 广告热线:0311-67562966 新闻投诉:0311-67562994
  • 冀ICP备 09047539号-1 | 互联网新闻信息服务许可证编号:1312006002
  • 广播电视节目制作经营许可证(冀)字第101号|信息网络传播视听节目许可证0311618号
  • 恐怖袭击接踵而至,法国怎么了? 花博士教你:男女之间的风水很重要!这不是迷信! 女人真正想要的是什么? 谢谢你的好意,可我不需要