淘淘商城---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】相关推荐

  1. 积跬步,聚小流------ps有用小技巧,改变png图标颜色

    积跬步,聚小流------ps有用小技巧,改变png图标颜色 *  实现效果: 原图:  改动后: *  实现目的: 满足为实现不同界面色彩搭配改动png图标的颜色 *  实现方法: 1.打开Phot ...

  2. 积跬步以至千里_积跬步以至千里,聚小利终成大户

    声明:只做客观解读,不做主观预测,仅供参考,不作交易依据. ​择股看行业.择时看大盘.买点等共振.炒股就是控制风险. 大盘结束8连阳,跌破5日均线,30分钟形成顶背离,大盘正在走30分钟下跌一笔,舵手 ...

  3. 积跬步,聚小流------html知识大纲归纳总结

    习惯于从熟悉的地方入手的我,每要开始整理学习新东西之前,喜欢把熟悉的相关知识再温习一遍,既是总有所得的缘故,也是如此会将斗志燃到最烈.我总感觉这是病,只是不愿治.... 这次的前端整理,便直接从htm ...

  4. 不积跬步无以至千里[转]

    不积跬步无以至千里<?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /> ...

  5. 积跬步以至千里_《荀子》名句76则:不积跬步,无以至千里;不积小流,无以成江海...

    荀子(约公元前313年-公元前238年),名况,字卿,华夏族(汉族),战国末期赵国人 .著名思想家.文学家.政治家,时人尊称"荀卿".西汉时因避汉宣帝刘询讳,因"荀&qu ...

  6. 劝学:不积跬步,无以至千里,不积小流,无以成江海.

    领略古人智慧. 不积跬步,无以至千里,不积小流,无以成江海.骐骥一跃,不能十步,驽马十驾,功在不舍.--<荀子·劝学>

  7. 蒲公英 · 积跬步以至千里

    「蒲公英」期刊全新升级,更新频率由每月一次调整为每周一次. 全新的期刊,不仅精选优质的凹凸文章,与此同时,我们从团队专注的研究方向出发,每期挖掘「基础技术.工程化.跨端框架技术.图形编程.服务端开发. ...

  8. 年度总结 | 积跬步以至千里,2023一起筑梦新征程

    2022年,是值得载入史册的一年.疫情开放,健康码隐入历史尘埃.国际形势紧张,信创化进入快车道.企业加速转型,跨界技术融合的运维新生态已初露苗头.回顾2022,我们聚沙成塔逆寒流而勇进,精造创新以实践 ...

  9. 【无标题】积跬步,以致千里;积小流,以成江海。

    1.自我介绍 大家好!我是来自西安工程大学计算机类的大一学生.上学期已经学习了C语言,但是发现自己的代码编程能力并没有多大提升,理论知识基础也还不够扎实.之前也在github中提交过代码.但是没有在C ...

最新文章

  1. 那些值得回味的MySQL的基础知识
  2. java 过滤攻击报文_Spring Boot XSS 攻击过滤插件使用
  3. python写的一个贴吧爬虫_Python-简单百度贴吧爬虫
  4. 2018.11.01 NOIP训练 cost数(搜索+容斥原理)
  5. mysql5.6 in走索引吗_MySQL5.6 单列、多列索引以及IN语句的优化(翻译)
  6. 运行原理_JMeter运行原理
  7. roipool and roialign difference
  8. 研0必读!李航《统计学习方法》啃书指南
  9. [数据结构]P1.3 栈 Stack
  10. AndroidStudio各个版本下载
  11. html实现百度换肤,百度换肤
  12. HTML 参考手册- (HTML5 标准)
  13. 苹果id登录_LOL手游公测!苹果/安卓下载登录详细教程
  14. 大数据超详细面试题汇总(附答案)
  15. 使用aspose进行将word转换为图片格式
  16. DNA 测序技术的发展:第三代测序法
  17. T32 获取电脑Product ID
  18. 解决报错:The Module Root specified is not a module according to Intellij
  19. 欢迎使用CSDN-markdown反向跟单可持盈利探讨
  20. 暑期实训二20220621

热门文章

  1. 使用java程序采集地区历史天气
  2. Python数据可视化之气泡图(图文并茂详细版!!!)
  3. DOM操作——怎样添加、移除、移动、复制、创建和查找节点?
  4. 【算法2】---队列(python)
  5. php连接共享打印机实例,win10怎么连接共享打印机
  6. 一张图图片分块html,神奇图片分割软件怎么将一张图片分割为多个图像块?
  7. 字符流和字节流的区别和使用
  8. 对一个整数的除法和取余问题
  9. 【人情世故】措辞篇——领导
  10. python实现3d建模工具_3D One 2.5引爆新思维,用趣味编程来实现3D建模!