JAVA高并发秒杀API项目的学习笔记

时间:2021-06-09 17:58:29

一步一步的搭建JAVA WEB项目,采用Maven构建,基于MYBatis+Spring+Spring MVC+Bootstrap技术的秒杀项目
学习的视频:http://www.imooc.com/learn/587

创建Maven项目

  • 创建目录,执行Maven命令

    mvn archetype:generate -DgroupId=org.seckill -DartifactId=seckill -DarchetypeArtifactId=maven-archetype-webapp -DarchetypeCatalog=local

    问题:Maven命令执行到Generating Project in Batch mode 卡住,参考链接

  • 将项目导入到IDEA工具中

  • 修改项目配置

    1. 修改web.xml中的servlet版本,默认是2.3,其不支持JSP的EL表达式。从Tomcat中的示例的web.xml中拷贝3.0的版本配置到项目中
    2. 补全目录。项目的main目录下创建java目录,在src目录下创建test目录,test目录下创建java和sources目录
    3. 打开pom.xml,进行依赖的配置

      • 单元测试依赖:Junit4
      • 日志依赖:slf4j+logback。(lf4j是规范/接口,log4j,common-logging,logback是日志的实现)
      • 数据库依赖:mysql-connector-java、c3p0
      • DAO框架:mybatis依赖:mybatis
      • Servlet web相关依赖:standard、jstl、jackson-databind、servlet-api
      • Spring依赖:spring-core、spring-beans、spring-context、spring-jdbc、spring-tx、spring-web、spring-webmvc、spring-test

        <dependencies>
        <!---3.0使用编程方式,4.0使用注解方式-->
        <dependency>
        <groupId>junit</groupId>
        <artifactId>junit</artifactId>
        <version>4.11</version>
        <scope>test</scope>
        </dependency>

        <dependency>
        <groupId>org.slf4j</groupId>
        <artifactId>slf4j-api</artifactId>
        <version>1.7.12</version>
        </dependency>
        <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-core</artifactId>
        <version>1.1.1</version>
        </dependency>
        <!--实现slf4j接口并进行整合-->
        <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
        <version>1.1.1</version>
        </dependency>
        <!--数据库相关依赖-->
        <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.35</version>
        <scope>runtime</scope>
        </dependency>
        <dependency>
        <groupId>c3p0</groupId>
        <artifactId>c3p0</artifactId>
        <version>0.9.1.2</version>
        </dependency>
        <!--DAO框架:mybatis依赖-->
        <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis</artifactId>
        <version>3.3.0</version>
        </dependency>
        <!--mybatis自身实现的spring的整合依赖-->
        <dependency>
        <groupId>org.mybatis</groupId>
        <artifactId>mybatis-spring</artifactId>
        <version>1.2.3</version>
        </dependency>
        <!--servlet web相关依赖-->
        <dependency>
        <groupId>taglibs</groupId>
        <artifactId>standard</artifactId>
        <version>1.1.2</version>
        </dependency>
        <dependency>
        <groupId>jstl</groupId>
        <artifactId>jstl</artifactId>
        <version>1.2</version>
        </dependency>
        <dependency>
        <groupId>com.fasterxml.jackson.core</groupId>
        <artifactId>jackson-databind</artifactId>
        <version>2.5.4</version>
        </dependency>
        <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>3.1.0</version>
        </dependency>

        <!--Spring依赖-->
        <!--spring核心-->
        <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>4.1.7.RELEASE</version>
        </dependency>
        <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-beans</artifactId>
        <version>4.1.7.RELEASE</version>