taotao shopping mall---【积跬步 1】
淘淘商城---taotao shopping mall
一,【前言】
为了熟悉和练习基本的技能,决定重新操练taotao shopping mall project, 淘淘商城项目有很多非常基础的技术和工具. 用实践和项目来不断的学习和总结, 相信安定稳健的进步,要让自己从实践中多多成长和进步!
二,【详情】
初步了解电商行业
电商行业技术特点:
• 技术新
• 技术范围广
• 分布式
• 高并发、集群、负载均衡、高可用
• 海量数据
• 业务复杂
• 系统安全
1. 淘淘商城介绍
1.1. 电商模式:
b2b:商家到商家。例如:阿里巴巴。1688.com。慧聪网
B2c:商家到用户。例如京东商城、天猫商城(b2b2c)
C2c:用户到用户。淘宝集市。
O2o:线上到线下。
1.2. 商城简介
淘淘网上商城是一个综合性的B2C平台,类似京东商城、天猫商城。会员可以在商城浏览商品、下订单,以及参加各种活动。管理员、运营可以在平台后台管理系统中管理商品、订单、会员等。客服可以在后台管理系统中处理用户的询问以及投诉。
2. 功能架构
3.1. 技术架构
传统架构
a、Lamp:linux apache mysql php
b、小型机(ibm)+oracle+emc
c、廉价设备+分布式+java+mysql+缓存
3.2. 分布式系统架构
分布式架构:
把系统按照模块拆分成多个子系统。
优点:
1.把模块拆分,使用接口通信,降低模块之间的耦合度。
2.把项目拆分成若干个子项目,不同的团队负责不同的子项目。
3.增加功能时只需要再增加一个子项目,调用其他系统的接口就可以。
4.可以灵活的进行分布式部署。
缺点:
系统之间交互需要使用远程通信,接口开发增加工作量。
3.3: 技术选型
数据库:mysql
Dao层:mybatis、数据库连接池(德鲁伊druid)
缓存:redis
搜索:solr
Service层:spring
表现层:springmvc、jstl、EasyUI、jsp、freemaker
图片服务器:FastDFS(分布式文件系统)
反向代理服务器:nginx
定时器:Quartz
Web服务器:tomcat
工程管理:maven
3,后台管理系统搭建: 网站一般分前台和后台。前台给用户看后台是管理人员使用。
使用maven管理工程。
0.1.依赖管理
0.2.项目构建
后台创建一个独立的web工程。创建一个maven工程打包方式是war包。
可以创建一个聚合工程,每个模块都是一个jar包,可以被其他系统依赖。
Taotao-parent(父工程管理jar包的版本)
|--Taotao-common(把通用的工具类打包)
|--Taotao-manager(继承父工程)
|-taotao-manager-pojo
|-taotao-manager-dao
|-taotao-manager-service
|-taotao-manager-web(war包)
1. Maven的配置
把参考资料中的.m2.7z解压缩覆盖本地仓库即可。
2. 创建工程
2.1. 创建taotao-parent工程
a. Pom文件
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><groupId>com.taotao</groupId><artifactId>taotao-parent</artifactId><version>0.0.1-SNAPSHOT</version><packaging>pom</packaging><!-- 集中定义依赖版本号 --><properties><junit.version>4.12</junit.version><spring.version>4.1.3.RELEASE</spring.version><mybatis.version>3.2.8</mybatis.version><mybatis.spring.version>1.2.2</mybatis.spring.version><mybatis.paginator.version>1.2.15</mybatis.paginator.version><mysql.version>5.1.32</mysql.version><slf4j.version>1.6.4</slf4j.version><jackson.version>2.4.2</jackson.version><druid.version>1.0.9</druid.version><httpclient.version>4.3.5</httpclient.version><jstl.version>1.2</jstl.version><servlet-api.version>2.5</servlet-api.version><jsp-api.version>2.0</jsp-api.version><joda-time.version>2.5</joda-time.version><commons-lang3.version>3.3.2</commons-lang3.version><commons-io.version>1.3.2</commons-io.version><commons-net.version>3.3</commons-net.version><pagehelper.version>3.4.2-fix</pagehelper.version><jsqlparser.version>0.9.1</jsqlparser.version><commons-fileupload.version>1.3.1</commons-fileupload.version><jedis.version>2.7.2</jedis.version><solrj.version>4.10.3</solrj.version><freemarker.version>2.3.23</freemarker.version><quartz.version>2.2.2</quartz.version></properties><dependencyManagement><dependencies><!-- 时间操作组件 --><dependency><groupId>joda-time</groupId><artifactId>joda-time</artifactId><version>${joda-time.version}</version></dependency><!-- Apache工具组件 --><dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId><version>${commons-lang3.version}</version></dependency><dependency><groupId>org.apache.commons</groupId><artifactId>commons-io</artifactId><version>${commons-io.version}</version></dependency><dependency><groupId>commons-net</groupId><artifactId>commons-net</artifactId><version>${commons-net.version}</version></dependency><!-- Jackson Json处理工具包 --><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>${jackson.version}</version></dependency><!-- httpclient --><dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId><version>${httpclient.version}</version></dependency><!-- 单元测试 --><dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>${junit.version}</version><scope>test</scope></dependency><!-- 日志处理 --><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId><version>${slf4j.version}</version></dependency><!-- Mybatis --><dependency><groupId>org.mybatis</groupId><artifactId>mybatis</artifactId><version>${mybatis.version}</version></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>${mybatis.spring.version}</version></dependency><dependency><groupId>com.github.miemiedev</groupId><artifactId>mybatis-paginator</artifactId><version>${mybatis.paginator.version}</version></dependency><dependency><groupId>com.github.pagehelper</groupId><artifactId>pagehelper</artifactId><version>${pagehelper.version}</version></dependency><!-- MySql --><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>${mysql.version}</version></dependency><!-- 连接池 --><dependency><groupId>com.alibaba</groupId><artifactId>druid</artifactId><version>${druid.version}</version></dependency><!-- Spring --><dependency><groupId>org.springframework</groupId><artifactId>spring-context</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-beans</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-webmvc</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-jdbc</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-aspects</artifactId><version>${spring.version}</version></dependency><dependency><groupId>org.springframework</groupId><artifactId>spring-context-support</artifactId><version>${spring.version}</version></dependency><!-- JSP相关 --><dependency><groupId>jstl</groupId><artifactId>jstl</artifactId><version>${jstl.version}</version></dependency><dependency><groupId>javax.servlet</groupId><artifactId>servlet-api</artifactId><version>${servlet-api.version}</version><scope>provided</scope></dependency><dependency><groupId>javax.servlet</groupId><artifactId>jsp-api</artifactId><version>${jsp-api.version}</version><scope>provided</scope></dependency><!-- 文件上传组件 --><dependency><groupId>commons-fileupload</groupId><artifactId>commons-fileupload</artifactId><version>${commons-fileupload.version}</version></dependency><!-- Redis客户端 --><dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>${jedis.version}</version></dependency><!-- solr客户端 --><dependency><groupId>org.apache.solr</groupId><artifactId>solr-solrj</artifactId><version>${solrj.version}</version></dependency><dependency><groupId>org.freemarker</groupId><artifactId>freemarker</artifactId><version>${freemarker.version}</version></dependency><dependency><groupId>org.quartz-scheduler</groupId><artifactId>quartz</artifactId><version>${quartz.version}</version></dependency></dependencies></dependencyManagement><build><finalName>${project.artifactId}</finalName><plugins><!-- 资源文件拷贝插件 --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-resources-plugin</artifactId><version>2.7</version><configuration><encoding>UTF-8</encoding></configuration></plugin><!-- java编译插件 --><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>3.2</version><configuration><source>1.7</source><target>1.7</target><encoding>UTF-8</encoding></configuration></plugin></plugins><pluginManagement><plugins><!-- 配置Tomcat插件 --><plugin><groupId>org.apache.tomcat.maven</groupId><artifactId>tomcat7-maven-plugin</artifactId><version>2.2</version></plugin></plugins></pluginManagement></build>
</project>
2.2. 创建taotao-common
保存是项目中用到的通用的工具类以及通用的pojo。打包方式jar包。
Pom文件
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>com.taotao</groupId><artifactId>taotao-parent</artifactId><version>0.0.1-SNAPSHOT</version></parent><groupId>com.taotao</groupId><artifactId>taotao-common</artifactId><version>0.0.1-SNAPSHOT</version><!-- 添加依赖 --><dependencies><!-- 时间操作组件 --><dependency><groupId>joda-time</groupId><artifactId>joda-time</artifactId></dependency><!-- Apache工具组件 --><dependency><groupId>org.apache.commons</groupId><artifactId>commons-lang3</artifactId></dependency><dependency><groupId>org.apache.commons</groupId><artifactId>commons-io</artifactId></dependency><dependency><groupId>commons-net</groupId><artifactId>commons-net</artifactId></dependency><!-- Jackson Json处理工具包 --><dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId></dependency><!-- httpclient --><dependency><groupId>org.apache.httpcomponents</groupId><artifactId>httpclient</artifactId></dependency><!-- 单元测试 --><dependency><groupId>junit</groupId><artifactId>junit</artifactId></dependency><!-- 日志处理 --><dependency><groupId>org.slf4j</groupId><artifactId>slf4j-log4j12</artifactId></dependency></dependencies>
</project>
2.3. 创建taotao-manager
为聚合工程。打包方式pom
Pom文件
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>com.taotao</groupId><artifactId>taotao-parent</artifactId><version>0.0.1-SNAPSHOT</version></parent><groupId>com.taotao</groupId><artifactId>taotao-manager</artifactId><version>0.0.1-SNAPSHOT</version><packaging>pom</packaging><!-- 添加依赖 --><dependencies><dependency><groupId>com.taotao</groupId><artifactId>taotao-common</artifactId><version>0.0.1-SNAPSHOT</version></dependency></dependencies>
</project>
1. 添加模块taotao-manager-pojo
选择maven-archetype-quickstart


三,【小结】

taotao shopping mall---【积跬步 1】相关推荐
- 积跬步,聚小流------ps有用小技巧,改变png图标颜色
积跬步,聚小流------ps有用小技巧,改变png图标颜色 * 实现效果: 原图: 改动后: * 实现目的: 满足为实现不同界面色彩搭配改动png图标的颜色 * 实现方法: 1.打开Phot ...
- 积跬步以至千里_积跬步以至千里,聚小利终成大户
声明:只做客观解读,不做主观预测,仅供参考,不作交易依据. 择股看行业.择时看大盘.买点等共振.炒股就是控制风险. 大盘结束8连阳,跌破5日均线,30分钟形成顶背离,大盘正在走30分钟下跌一笔,舵手 ...
- 积跬步,聚小流------html知识大纲归纳总结
习惯于从熟悉的地方入手的我,每要开始整理学习新东西之前,喜欢把熟悉的相关知识再温习一遍,既是总有所得的缘故,也是如此会将斗志燃到最烈.我总感觉这是病,只是不愿治.... 这次的前端整理,便直接从htm ...
- 不积跬步无以至千里[转]
不积跬步无以至千里<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> ...
- 积跬步以至千里_《荀子》名句76则:不积跬步,无以至千里;不积小流,无以成江海...
荀子(约公元前313年-公元前238年),名况,字卿,华夏族(汉族),战国末期赵国人 .著名思想家.文学家.政治家,时人尊称"荀卿".西汉时因避汉宣帝刘询讳,因"荀&qu ...
- 劝学:不积跬步,无以至千里,不积小流,无以成江海.
领略古人智慧. 不积跬步,无以至千里,不积小流,无以成江海.骐骥一跃,不能十步,驽马十驾,功在不舍.--<荀子·劝学>
- 蒲公英 · 积跬步以至千里
「蒲公英」期刊全新升级,更新频率由每月一次调整为每周一次. 全新的期刊,不仅精选优质的凹凸文章,与此同时,我们从团队专注的研究方向出发,每期挖掘「基础技术.工程化.跨端框架技术.图形编程.服务端开发. ...
- 年度总结 | 积跬步以至千里,2023一起筑梦新征程
2022年,是值得载入史册的一年.疫情开放,健康码隐入历史尘埃.国际形势紧张,信创化进入快车道.企业加速转型,跨界技术融合的运维新生态已初露苗头.回顾2022,我们聚沙成塔逆寒流而勇进,精造创新以实践 ...
- 【无标题】积跬步,以致千里;积小流,以成江海。
1.自我介绍 大家好!我是来自西安工程大学计算机类的大一学生.上学期已经学习了C语言,但是发现自己的代码编程能力并没有多大提升,理论知识基础也还不够扎实.之前也在github中提交过代码.但是没有在C ...
最新文章
- 那些值得回味的MySQL的基础知识
- java 过滤攻击报文_Spring Boot XSS 攻击过滤插件使用
- python写的一个贴吧爬虫_Python-简单百度贴吧爬虫
- 2018.11.01 NOIP训练 cost数(搜索+容斥原理)
- mysql5.6 in走索引吗_MySQL5.6 单列、多列索引以及IN语句的优化(翻译)
- 运行原理_JMeter运行原理
- roipool and roialign difference
- 研0必读!李航《统计学习方法》啃书指南
- [数据结构]P1.3 栈 Stack
- AndroidStudio各个版本下载
- html实现百度换肤,百度换肤
- HTML 参考手册- (HTML5 标准)
- 苹果id登录_LOL手游公测!苹果/安卓下载登录详细教程
- 大数据超详细面试题汇总(附答案)
- 使用aspose进行将word转换为图片格式
- DNA 测序技术的发展:第三代测序法
- T32 获取电脑Product ID
- 解决报错:The Module Root specified is not a module according to Intellij
- 欢迎使用CSDN-markdown反向跟单可持盈利探讨
- 暑期实训二20220621