学习视频下载路劲: 链接: https://pan.baidu.com/s/1GnkfbJyHMZ1-unk-xkiVAw 提取码: brn4
1 课程计划
一共14天课程
1、第一天:电商行业的背景。淘淘商城的介绍。搭建项目工程。Svn的使用。
2、第二天:框架的整合。后台管理商品列表的实现。分页插件。
3、第三天:后台管理。商品添加。商品类目的选择、图片上传、富文本编辑器的使用。
4、第四天:商品规格的实现。
5、第五天:商城前台系统的搭建。首页商品分类的展示。Jsonp。
6、第六天:cms系统的实现。前台大广告位的展示。
7、第七天:cms系统添加缓存。Redis。缓存同步。
8、第八天:搜索功能的实现。使用solr实现搜索。
9、第九天:商品详情页面的展示。
10、第十天:单点登录系统。Session共享。
11、第十一天:购物车订单系统的实现。
12、第十二天:nginx。反向代理工具。
13、第十三天:redis集群的搭建、solr集群的搭建。系统的部署。
14、项目总结。
今天的内容:
1、电商行业的背景。
2、淘淘商城的介绍。
3、工程项目的搭建。
4、Svn的使用。
1 电商行业介绍
1.1 电商行业发展
近年来,中国的电子商务快速发展,交易额连创新高,电子商务在各领域的应用不断拓展和深化、相关服务业蓬勃发展、支撑体系不断健全完善、创新的动力和能力 不断增强。电子商务正在与实体经济深度融合,进入规模性发展阶段,对经济社会生活的影响不断增大,正成为我国经济发展的新引擎。
中国电子商务研究中心数据显示,截止到2012年底,中国电子商务市场交易规模达7.85万亿人民币,同比增长30.83%。其中,B2B电子商务交易额 达6.25万亿,同比增长27%。而2011年全年,中国电子商务市场交易额达6万亿人民币,同比增长33%,占GDP比重上升到13%;2012年,电 子商务占GDP的比重已经高达15%。预计2013年我国电子商务规模将突破十万亿大关。
图1.2009-2014年中国电子商务市场交易规模(万亿元)
1.2 11.11
1.3 电商行业技术特点
Ø 技术新
Ø 技术范围广
Ø 分布式
Ø 高并发、集群、负载均衡、高可用
Ø 海量数据
Ø 业务复杂
Ø 系统安全
1 淘淘商城
1.1 淘淘商城简介
1.1.1 电商行业的模式:
B2B:企业到企业,商家到商家。代表:阿里巴巴、慧聪网。
B2C:商家到客户。代表:京东、淘宝商城(B2B2C)。
C2C:客户到客户。淘宝集市。
O2O:线上到线下。
1.1.2 淘淘商城的模式
淘淘网上商城是一个综合性的B2C平台,类似京东商城、天猫商城。会员可以在商城浏览商品、下订单,以及参加各种活动。
管理员、运营可以在平台后台管理系统中管理商品、订单、会员等。
客服可以在后台管理系统中处理用户的询问以及投诉。
1.2 功能模块
1.2.1 功能描述
后台管理系统:管理商品、订单、类目、商品规格属性、用户管理以及内容发布等功能。
前台系统:用户可以在前台系统中进行注册、登录、浏览商品、首页、下单等操作。
会员系统:用户可以在该系统中查询已下的订单、收藏的商品、我的优惠券、团购等信息。
订单系统:提供下单、查询订单、修改订单状态、定时处理订单。
搜索系统:提供商品的搜索功能。
单点登录系统:为多个系统之间提供用户登录凭证以及查询登录用户的信息。
1.1 技术架构
1.1.1 传统架构
思考:有什么问题?
1、 模块之间耦合度太高,其中一个升级其他都得升级
2、 开发困难,各个团队开发最后都要整合一起
3、 系统的扩展性差
4、 不能灵活的进行分布式部署。
解决方法:
优点:
把模块拆分成独立的工程,单点运行。如果某一个点压力大可以对这一个点单独增加配置。其他的点不受影响。
缺点:
系统之间交互需要额外的工作量来进行接口的开发。
把系统拆分成多个工程,要完成系统的工程需要多个工程协作完成。这种形式叫做分布式。
1.1.2 分布式的架构
分布式架构:
把系统按照模块拆分成多个子系统。
优点:
1、把模块拆分,使用接口通信,降低模块之间的耦合度。
2、把项目拆分成若干个子项目,不同的团队负责不同的子项目。
3、增加功能时只需要再增加一个子项目,调用其他系统的接口就可以。
4、可以灵活的进行分布式部署。
缺点:
系统之间交互需要使用远程通信,接口开发增加工作量。
1.1.1 技术选型(主要技术)
1 l Spring、SpringMVC、Mybatis 2 3 l JSP、JSTL、jQuery、jQuery plugin、EasyUI、KindEditor(富文本编辑器)、CSS+DIV 4 5 l Redis(缓存服务器) 6 7 l Solr(搜索) 8 9 l httpclient(调用系统服务) 10 11 l Mysql 12 13 l Nginx(web服务器) 14
1.1.2 开发工具和环境
Eclipse 4.5.0(Mars),自带maven插件,需要手工安装svn插件。
Maven 3.3.3(开发工具自带)
Tomcat 7.0.53(Maven Tomcat Plugin)
JDK 1.7
Mysql 5.6
Nginx 1.8.0
Redis 3.0.0
Win7 操作系统
SVN(版本管理)
1.2 人员配置
产品经理:3人,确定需求以及给出产品原型图。
项目经理:1人,项目管理。
前端团队:5人,根据产品经理给出的原型制作静态页面。
后端团队:20人,实现产品功能。
测试团队:5人,测试所有的功能。
运维团队:3人,项目的发布以及维护。
后台管理系统工程搭建
Maven
1、依赖管理、jar包、工程之间的依赖。
2、项目构建。实现项目的一步构建。
3、工程聚合、继承、依赖。
Maven的工程类型:
1、war包工程
2、Jar包工程
3、Pom工程。
父工程的搭建
父工程应该是一个pom工程。在父工程中定义依赖的jar包的版本信息。Maven插件的版本。
使用.m2覆盖本地仓库的内容。
链接: 密码:z73d
创建maven工程
修改pom文件
13 2164.0.0 4com.taotao 5taotao-parent 60.0.1-SNAPSHOT 7pom 8 910 33 344.12 114.1.3.RELEASE 123.2.8 131.2.2 141.2.15 155.1.32 161.6.4 172.4.2 181.0.9 194.3.5 201.2 212.5 222.0 232.5 243.3.2 251.3.2 263.3 273.4.2-fix 280.9.1 291.3.1 302.7.2 314.10.3 3235 18036 37 17938 42 43joda-time 39joda-time 40${joda-time.version} 4144 48org.apache.commons 45commons-lang3 46${commons-lang3.version} 4749 53org.apache.commons 50commons-io 51${commons-io.version} 5254 58 59commons-net 55commons-net 56${commons-net.version} 5760 64 65com.fasterxml.jackson.core 61jackson-databind 62${jackson.version} 6366 70 71org.apache.httpcomponents 67httpclient 68${httpclient.version} 6972 77 78junit 73junit 74${junit.version} 75test 7679 83 84org.slf4j 80slf4j-log4j12 81${slf4j.version} 8285 89org.mybatis 86mybatis 87${mybatis.version} 8890 94org.mybatis 91mybatis-spring 92${mybatis.spring.version} 9395 99com.github.miemiedev 96mybatis-paginator 97${mybatis.paginator.version} 98100 104 105com.github.pagehelper 101pagehelper 102${pagehelper.version} 103106 110 111mysql 107mysql-connector-java 108${mysql.version} 109112 116 117com.alibaba 113druid 114${druid.version} 115118 122org.springframework 119spring-context 120${spring.version} 121123 127org.springframework 124spring-beans 125${spring.version} 126128 132org.springframework 129spring-webmvc 130${spring.version} 131133 137org.springframework 134spring-jdbc 135${spring.version} 136138 142 143org.springframework 139spring-aspects 140${spring.version} 141144 148jstl 145jstl 146${jstl.version} 147149 154javax.servlet 150servlet-api 151${servlet-api.version} 152provided 153155 160 161javax.servlet 156jsp-api 157${jsp-api.version} 158provided 159162 166 167commons-fileupload 163commons-fileupload 164${commons-fileupload.version} 165168 172 173redis.clients 169jedis 170${jedis.version} 171174 178org.apache.solr 175solr-solrj 176${solrj.version} 177181 215${project.artifactId} 182183 184 204185 192 193org.apache.maven.plugins 186maven-resources-plugin 1872.7 188189 191UTF-8 190194 203org.apache.maven.plugins 195maven-compiler-plugin 1963.2 197198 202205 214206 207 213208 212org.apache.tomcat.maven 209tomcat7-maven-plugin 2102.2 211
创建一个common工程
也需要继承taotao-parent工程。
创建工程
Pom文件
13 554.0.0 45 9com.taotao 6taotao-parent 70.0.1-SNAPSHOT 8com.taotao 10taotao-common 110.0.1-SNAPSHOT 12 1314 15 5416 19 20joda-time 17joda-time 1821 24org.apache.commons 22commons-lang3 2325 28org.apache.commons 26commons-io 2729 32 33commons-net 30commons-net 3134 37 38com.fasterxml.jackson.core 35jackson-databind 3639 42 43org.apache.httpcomponents 40httpclient 4144 48 49junit 45junit 46test 4750 53org.slf4j 51slf4j-log4j12 52
后台管理工程创建
搭建一个聚合工程:
1.1.1 工程结构
传统工程结构:
Maven管理的工程结构:
不使用maven:工程部署时需要手动复制jar包。完成工程构建。非常繁琐。
使用maven进行工程构建:
使用maven可以实现一步构建。
继承:
依赖:
后台管理系统工程结构:
taotao-parent -- 管理依赖jar包的版本,全局,公司级别
|--taotao-common --- 通用组件、工具类
|--taotao-manage -- 后台系统
|--com.taotao.manage.web
|--com.taotao.manage.service
|--com.taotao.manage.mapper
|--com.taotao.manage.pojo
Taotao-manager工程
1.1.1.1 工程搭建
1.1.1.2 修改pom文件
13 224.0.0 45 9com.taotao 6taotao-parent 70.0.1-SNAPSHOT 8com.taotao 10taotao-manager 110.0.1-SNAPSHOT 12pom 13 1415 2116 20com.taotao 17taotao-common 180.0.1-SNAPSHOT 19
Taotao-manager-pojo模块
1.1.1.1 创建工程
1.1.1.2 Pom文件
不需要修改,taotao-manager-pojo模块不依赖任何jar包。
Taotao-manager-mapper模块
1.1.1.1 创建工程
Pom文件修改
13 464.0.0 45 9com.taotao 6taotao-manager 70.0.1-SNAPSHOT 8taotao-manager-mapper 10 1112 4513 17 18com.taotao 14taotao-manager-pojo 150.0.1-SNAPSHOT 1619 22org.mybatis 20mybatis 2123 26org.mybatis 24mybatis-spring 2527 30com.github.miemiedev 28mybatis-paginator 2931 34 35com.github.pagehelper 32pagehelper 3336 39 40mysql 37mysql-connector-java 3841 44com.alibaba 42druid 43
Taotao-manager-service模块
1.1.1.1 创建工程
1.1.1.2 Pom文件
13 404.0.0 45 9com.taotao 6taotao-manager 70.0.1-SNAPSHOT 8taotao-manager-service 10 1112 3913 17 18com.taotao 14taotao-manager-mapper 150.0.1-SNAPSHOT 1619 22org.springframework 20spring-context 2123 26org.springframework 24spring-beans 2527 30org.springframework 28spring-webmvc 2931 34org.springframework 32spring-jdbc 3335 38org.springframework 36spring-aspects 37
Taotao-manager-web模块
1.1.1.1 创建工程
Pom文件
13 404.0.0 45 9com.taotao 6taotao-manager 70.0.1-SNAPSHOT 8taotao-manager-web 10war 11 1213 3914 18 19com.taotao 15taotao-manager-service 160.0.1-SNAPSHOT 1720 23jstl 21jstl 2224 28javax.servlet 25servlet-api 26provided 2729 33 34javax.servlet 30jsp-api 31provided 3235 38commons-fileupload 36commons-fileupload 37
创建web.xml
1 26 17taotao-manager 78 15 16index.html 9index.htm 10index.jsp 11default.html 12default.htm 13default.jsp 14
测试maven工程
1.1 运行的工程
要运行工程,需要运行聚合工程也就是taotao-manager。
1.1 Tomcat插件
在taotao-manager工程的pom文件中添加如下内容:
1 |
1.2 启动工程
使用maven命令:
clean tomcat7:run
tomcat7指定使用tomcat7的插件。
注意:
1、需要把taotao-parent工程安装到本地仓库。Install
2、需要把taotao-common安装到本地仓库。
2 Svn
SVN服务器的搭建请查看该文:《》
地址:
用户名:user
密码:user