zoukankan      html  css  js  c++  java
  • SSM框架学习之高并发秒杀业务--笔记1-- 项目的创建和依赖

    在慕课网上看了Java高并发秒杀API视屏后,觉得这个案例真的让我学到了很多,现在重新自己实现一遍,博客记下,顺便分析其中的要点。

    第一步是项目的创建和依赖

    利用Maven去创建工程然后导入Idea中并完成相关配置,这里的注意点:

    1.利用Maven创建web项目命令:mvn archetype:generate  -DgroupId=org.seckill  -DartifactId=seckill  -DarchetypeArtifactId=maven-archetype-webapp  -DarchetypeCatalog=local

     关于这条命令的解释:mvn archetype:generate  固定格式

               -DgroupId         组织标识(包名)

                 -DartifactId         项目名称

               -DarchetypeArtifactId    指定ArchetypeId。maven-archetype-quickstart表示创建一个Java Project;maven-archetype-webapp表示创建一个Web Project

               -DarchetypeCatalog          用来指定maven-archetype-plugin读取archetype-catalog.xml文件的位置,local——本地的,位置为~/.m2/archetype-catalog.xml

     关于Maven命中各种参数的详细解释参考了这两篇博文:http://blog.csdn.net/edward0830ly/article/details/8748986 和 http://blog.csdn.net/robinjwong/article/details/38899065

    2.从官网上获取相关配置。一些xml文件配置什么的,从官网的说明指导上直接拷即可。

    3.Idea导入Maven项目,导入pom.xml文件即可。 这步我在做的时候遇到几个问题, 主要是因为自己比较菜,idea不会用。一个是Idea中的Project相当于eclipse中的workplace,Modules才相当于eclipse中的 project,所以想要在idea窗口中同时显示多个项目的话可以自己新建一个empty project, 然后导入项目即可。另一个问题是如何删除project,先关闭project再删除。

    4.mavaen创建的工程的web.xml文件sevlet默认版本是2.3,EL表达式默认不工作,得修改。去tomacat目录中的webapps,有一些示例,找到实例的web-xml文件,拷贝其中的头部分即可

    1 <web-app xmlns="http://java.sun.com/xml/ns/javaee"
    2          xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    3          xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
    4                       http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
    5          version="3.0"
    6          metadata-complete="true">
    7   <!--修改servlet版本为3.0-->

    5.创建好的Maven项目还有一些缺失的文件夹要自己手动去创建,主要是一个java文件,用来存放我们写的源代码,以及test文件用来存放我们的测试用例。建好后的文件目录:

           

    6.在pom.xml中加入相关的依赖,这里给个网址 http://mvnrepository.com/ ,想要什么jar包直接就能搜出它的依赖是怎么写的。下面是这个案例所用到的全部依赖

      1 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
      2   xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
      3   <modelVersion>4.0.0</modelVersion>
      4   <groupId>org.seckill2</groupId>
      5   <artifactId>seckill2</artifactId>
      6   <packaging>war</packaging>
      7   <version>1.0</version>
      8   <name>seckill2 Maven Webapp</name>
      9   <url>http://maven.apache.org</url>
     10   <dependencies>
     11     <dependency>
     12       <groupId>junit</groupId>
     13       <artifactId>junit</artifactId>
     14       <version>4.11</version>
     15       <scope>test</scope>
     16     </dependency>
     17     <!-- 补全项目依赖-->
     18     <!--1.日志  java日志:slf4j, log4j, logback, common-logging
     19         slf4j 是规范/接口
     20         日志实现:log4j,logback,common-logging
     21         使用:slf4j+logback
     22     -->
     23     <dependency>
     24       <groupId>org.slf4j</groupId>
     25       <artifactId>slf4j-api</artifactId>
     26       <version>1.7.12</version>
     27     </dependency>
     28     <dependency>
     29       <groupId>ch.qos.logback</groupId>
     30       <artifactId>logback-core</artifactId>
     31       <version>1.1.1</version>
     32     </dependency>
     33     <!--实现slf4j接口并整合-->
     34     <dependency>
     35       <groupId>ch.qos.logback</groupId>
     36       <artifactId>logback-classic</artifactId>
     37       <version>1.1.1</version>
     38     </dependency>
     39 
     40     <!--2:数据库相关依赖-->
     41     <dependency>
     42       <groupId>mysql</groupId>
     43       <artifactId>mysql-connector-java</artifactId>
     44       <version>5.1.35</version>
     45       <scope>runtime</scope>
     46     </dependency>
     47     <dependency>
     48       <groupId>c3p0</groupId>
     49       <artifactId>c3p0</artifactId>
     50       <version>0.9.1.2</version>
     51     </dependency>
     52 
     53     <!--DAO框架依赖: MyBatis依赖-->
     54     <dependency>
     55       <groupId>org.mybatis</groupId>
     56       <artifactId>mybatis</artifactId>
     57       <version>3.3.0</version>
     58     </dependency>
     59     <!--mybatis自身实现的spring整合依赖-->
     60     <dependency>
     61       <groupId>org.mybatis</groupId>
     62       <artifactId>mybatis-spring</artifactId>
     63       <version>1.2.3</version>
     64     </dependency>
     65 
     66     <!--3: Servlet Web 相关依赖-->
     67     <dependency>
     68       <groupId>taglibs</groupId>
     69       <artifactId>standard</artifactId>
     70       <version>1.1.2</version>
     71     </dependency>
     72     <dependency>
     73       <groupId>jstl</groupId>
     74       <artifactId>jstl</artifactId>
     75       <version>1.2</version>
     76     </dependency>
     77     <dependency>
     78       <groupId>com.fasterxml.jackson.core</groupId>
     79       <artifactId>jackson-databind</artifactId>
     80       <version>2.5.4</version>
     81     </dependency>
     82     <dependency>
     83       <groupId>javax.servlet</groupId>
     84       <artifactId>javax.servlet-api</artifactId>
     85       <version>3.0.1</version>
     86     </dependency>
     87 
     88     <!--4:spring依赖-->
     89     <!--1)spring核心依赖-->
     90     <dependency>
     91       <groupId>org.springframework</groupId>
     92       <artifactId>spring-core</artifactId>
     93       <version>4.1.7.RELEASE</version>
     94     </dependency>
     95     <dependency>
     96       <groupId>org.springframework</groupId>
     97       <artifactId>spring-beans</artifactId>
     98       <version>4.1.7.RELEASE</version>
     99     </dependency>
    100     <dependency>
    101       <groupId>org.springframework</groupId>
    102       <artifactId>spring-context</artifactId>
    103       <version>4.1.7.RELEASE</version>
    104     </dependency>
    105     <!--2)spring dao层依赖-->
    106     <dependency>
    107       <groupId>org.springframework</groupId>
    108       <artifactId>spring-jdbc</artifactId>
    109       <version>4.1.7.RELEASE</version>
    110     </dependency>
    111     <dependency>
    112       <groupId>org.springframework</groupId>
    113       <artifactId>spring-tx</artifactId>
    114       <version>4.1.7.RELEASE</version>
    115     </dependency>
    116     <!--3)spring web相关依赖-->
    117     <dependency>
    118       <groupId>org.springframework</groupId>
    119       <artifactId>spring-web</artifactId>
    120       <version>4.1.7.RELEASE</version>
    121     </dependency>
    122     <dependency>
    123       <groupId>org.springframework</groupId>
    124       <artifactId>spring-webmvc</artifactId>
    125       <version>4.1.7.RELEASE</version>
    126     </dependency>
    127 
    128     <!--4)spring test相关依赖-->
    129     <dependency>
    130       <groupId>org.springframework</groupId>
    131       <artifactId>spring-test</artifactId>
    132       <version>4.1.7.RELEASE</version>
    133     </dependency>
    134 
    135     <!-- redis客户端: Jedis -->
    136     <dependency>
    137       <groupId>redis.clients</groupId>
    138       <artifactId>jedis</artifactId>
    139       <version>2.7.3</version>
    140     </dependency>
    141     <!--protostuff序列化依赖-->
    142     <dependency>
    143       <groupId>com.dyuproject.protostuff</groupId>
    144       <artifactId>protostuff-core</artifactId>
    145       <version>1.0.8</version>
    146     </dependency>
    147     <dependency>
    148       <groupId>com.dyuproject.protostuff</groupId>
    149       <artifactId>protostuff-runtime</artifactId>
    150       <version>1.0.8</version>
    151     </dependency>
    152     <!-- https://mvnrepository.com/artifact/commons-collections/commons-collections -->
    153     <dependency>
    154       <groupId>commons-collections</groupId>
    155       <artifactId>commons-collections</artifactId>
    156       <version>3.2.1</version>
    157     </dependency>
    158   </dependencies>
    159   <build>
    160     <finalName>seckill2</finalName>
    161   </build>
    162 </project>

    这里有出现了点差错,因为idea的maven配置没有配置我自己下的那个导致找不到依赖的错误,更改下配置即可。

    呼。。。。。 项目的创建和依赖终于完成了。。。。。自己实在太水了。。。。 下一步正式开始DAO层的设计与开发。

               

  • 相关阅读:
    常用的输出方法
    使用Action()和ActionLink()生成链接
    "??"运算符
    使用路由数据
    路由匹配总结
    routes.MapRoute()定义路由的要求
    控制器和视图数据传递小结
    跨请求数据传递TempData
    Redis安装创建
    JAVA获取当前时间加一天
  • 原文地址:https://www.cnblogs.com/f91og/p/5994274.html
Copyright © 2011-2022 走看看