-
t淘淘商城项目的视频和源码教程提供了详尽的内容
资源介绍
淘淘商城
第一天
讲师:传智.入云龙
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. 电商行业技术特点
Ø 技术新
Ø 技术范围广
Ø 分布式
Ø 高并发、集群、负载均衡、高可用
Ø 海量数据
Ø 业务复杂
Ø 系统安全
2. 淘淘商城
2.1. 淘淘商城简介
淘淘网上商城是一个综合性的B2C平台,类似京东商城、天猫商城。会员可以在商城浏览商品、下订单,以及参加各种活动。
管理员、运营可以在平台后台管理系统中管理商品、订单、会员等。
客服可以在后台管理系统中处理用户的询问以及投诉。
2.2. 功能架构
2.2.1. 系统功能图
2.2.2. 功能描述
后台管理系统:管理商品、订单、类目、商品规格属性、用户管理以及内容发布等功能。
前台系统:用户可以在前台系统中进行注册、登录、浏览商品、首页、下单等操作。
会员系统:用户可以在该系统中查询已下的订单、收藏的商品、我的优惠券、团购等信息。
订单系统:提供下单、查询订单、修改订单状态、定时处理订单。
搜索系统:提供商品的搜索功能。
单点登录系统:为多个系统之间提供用户登录凭证以及查询登录用户的信息。
2.3. 技术架构
2.3.1. 传统架构
思考:有什么问题?
1、 模块之间耦合度太高,其中一个升级其他都得升级
2、 开发困难,各个团队开发最后都要整合一起
3、 系统的扩展性差
4、不能灵活的进行分布式部署。
2.3.2. 分布式系统架构
分布式架构:
把系统按照模块拆分成多个子系统。
优点:
1、把模块拆分,使用接口通信,降低模块之间的耦合度。
2、把项目拆分成若干个子项目,不同的团队负责不同的子项目。
3、增加功能时只需要再增加一个子项目,调用其他系统的接口就可以。
4、可以灵活的进行分布式部署。
缺点:
系统之间交互需要使用远程通信,接口开发增加工作量。
2.3.3. 技术选型(主要技术)
l Spring、SpringMVC、Mybatis
l JSP、JSTL、jQuery、jQuery plugin、EasyUI、KindEditor(富文本编辑器)、CSS+DIV
l Redis(缓存服务器)
l Solr(搜索)
l httpclient(调用系统服务)
l Mysql
l Nginx(web服务器)
2.4. 开发工具和环境
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(版本管理)
2.5. 人员配置
产品经理:3人,确定需求以及给出产品原型图。
项目经理:1人,项目管理。
前端团队:5人,根据产品经理给出的原型制作静态页面。
后端团队:20人,实现产品功能。
测试团队:5人,测试所有的功能。
运维团队:3人,项目的发布以及维护。
3. 后台管理系统工程结构
3.1. maven管理的好处
1、项目构建。Maven定义了软件开发的整套流程体系,并进行了封装,开发人员只需要指定项目的构建流程,无需针对每个流程编写自己的构建脚本。
2、依赖管理。除了项目构建,Maven最核心的功能是软件包的依赖管理,能够自动分析项目所需要的依赖软件包,并到Maven中心仓库去下载。
A)管理依赖的jar包
B)管理工程之间的依赖关系。
3.2. Maven本地仓库
在当前系统用户的文件夹下。例如当前用户是Administrator那么本地仓库就是在
C:\Users\Administrator\.m2目录下。
只需要用老师提供的.m2覆盖本地的就可以。
Maven插件使用eclipse mars自带maven插件。只需要统一开发环境。
3.3. 依赖管理
传统工程结构:
Maven管理的工程结构:
不使用maven:工程部署时需要手动复制jar包。完成工程构建。非常繁琐。
使用maven进行工程构建:
使用maven可以实现一步构建。
3.3.1. 后台管理系统的工程结构
继承:
依赖:
后台管理系统工程结构:
taotao-parent -- 管理依赖jar包的版本,全局,公司级别
|--taotao-common --- 通用组件、工具类
|--taotao-manage -- 后台系统
|--com.taotao.manage.web
|--com.taotao.manage.service
|--com.taotao.manage.mapper
|--com.taotao.manage.pojo
3.4. 创建taotao-parent
3.4.1. 创建maven工程
3.4.2. 修改pom文件
4.0.0
com.taotao
taotao-parent
0.0.1-SNAPSHOT
pom
<!-- 集中定义依赖版本号 -->
4.12
4.1.3.RELEASE
3.2.8
1.2.2
1.2.15
5.1.32
1.6.4
2.4.2
1.0.9
4.3.5
1.2
2.5
2.0
2.5
3.3.2
1.3.2
3.3
3.4.2-fix
0.9.1
1.3.1
2.7.2
4.10.3
<!-- 时间操作组件 -->
joda-time
joda-time
${joda-time.version}
<!-- Apache工具组件 -->
org.apache.commons
commons-lang3
${commons-lang3.version}
org.apache.commons
commons-io
${commons-io.version}
commons-net
commons-net
${commons-net.version}
<!-- Jackson Json处理工具包 -->
com.fasterxml.jackson.core
jackson-databind
${jackson.version}
<!-- httpclient -->
org.apache.httpcomponents
httpclient
${httpclient.version}
<!-- 单元测试 -->
junit
junit
${junit.version}
test
<!-- 日志处理 -->
org.slf4j
slf4j-log4j12
${slf4j.version}
<!-- Mybatis -->
org.mybatis
mybatis
${mybatis.version}
org.mybatis
mybatis-spring
${mybatis.spring.version}
com.github.miemiedev
mybatis-paginator
${mybatis.paginator.version}
com.github.pagehelper
pagehelper
${pagehelper.version}
<!-- MySql -->
mysql
mysql-connector-java
${mysql.version}
<!-- 连接池 -->
com.alibaba
druid
${druid.version}
<!-- Spring -->
org.springframework
spring-context
${spring.version}
org.springframework
spring-beans
${spring.version}
org.springframework
spring-webmvc
${spring.version}
org.springframework
spring-jdbc
${spring.version}
org.springframework
spring-aspects
${spring.version}
<!-- JSP相关 -->
jstl
jstl
${jstl.version}
javax.servlet
servlet-api
${servlet-api.version}
provided
javax.servlet
jsp-api
${jsp-api.version}
provided
<!-- 文件上传组件 -->
commons-fileupload
commons-fileupload
${commons-fileupload.version}
<!-- Redis客户端 -->
redis.clients
jedis
${jedis.version}
<!-- solr客户端 -->
org.apache.solr
solr-solrj
${solrj.version}
${project.artifactId}
<!-- 资源文件拷贝插件 -->
org.apache.maven.plugins
maven-resources-plugin
2.7
UTF-8
<!-- java编译插件 -->
org.apache.maven.plugins
maven-compiler-plugin
3.2
1.7
UTF-8
<!-- 配置Tomcat插件 -->
org.apache.tomcat.maven
tomcat7-maven-plugin
2.2
3.4.3. 将taotao-parent安装到本地仓库。
3.5. taotao-common
3.5.1. 创建工程
3.5.2. 修改pom文件
修改taotao-common工程的pom文件,在文件中添加对taotao-parent的继承。
4.0.0
com.taotao
taotao-parent
0.0.1-SNAPSHOT
com.taotao
taotao-common
0.0.1-SNAPSHOT
3.5.3. 更新工程
工程点击右键→maven→update Project Configuration
3.6. taotao-manage
3.6.1. 创建taotao-manager
修改pom文件:
3.6.2. taotao-manage-pojo
3.6.3. Taotao-manager-mapper
3.6.4. Taotao-manager-service
3.6.5. Taotao-manager-web
1. 配置工程:
2. Web.xml
<?xml version="1.0" encoding="UTF-8"?>
taotao-manager
index.html
index.htm
index.jsp
default.html
default.htm
default.jsp
3.6.6. 配置tomcat插件
运行web工程需要添加一个tomcat插件。插件必须添加到taotao-manager工程中。因为taotao-manager是聚合工程。在运行时需要把子工程聚合到一起才能运行。
<!-- 配置Tomcat插件 -->
org.apache.tomcat.maven
tomcat7-maven-plugin
2.2
8080
/
启动tomcat命令:tomcat7:run
3.6.7. taotao-manage子模块依赖关系
依赖关系:
web è service
service è mapper
mapper è pojo
4. 提交代码到SVN
4.1. 提交代码
注意:提交到SVN的Maven项目,只提交src和pom.xml
4.2. 从SVN检出项目
1、 从trunk检出项目,并且重命名项目名称
2、 转化为maven项目
3、 聚合项目中子项目需要从父工程中【导入】,选择 【已经存在的maven项目】,不能从SVN再次检出子项目
- 上一篇: javaweb项目
- 下一篇: Java算法 + 数据挖掘算法