宜立方————第一天
一、目标:
1、电商行业的背景。
2、宜立方商城的系统架构
a) 功能介绍
b) 架构讲解
3、工程搭建-后台工程
a) 使用maven搭建工程
b) 使用maven的tomcat插件启动工程
4、SSM框架整合
5、svn的使用
二、电商行业的技术特点:
- 技术新
- 技术范围广
- 分布式
- 高并发、集群、负载均衡、高可用
- 海量数据
- 业务复杂
- 系统安全
三、电商模式:
- B2B:商家到商家。阿里巴巴,慧聪网、铭万网。
- B2C:商家到用户。京东。
- C2C:用户到用户。淘宝。
- B2B2C:商家到商家到用户。天猫。
- O2O:线上到线下。百度外卖、美团、饿了么。
四、商城框架:
1、功能列表:

后台管理系统:管理商品、订单、类目、商品规格属性、用户管理以及内容发布等功能。
前台系统:用户可以在前台系统中进行注册、登录、浏览商品、首页、下单等操作。
会员系统:用户可以在该系统中查询已下的订单、收藏的商品、我的优惠券、团购等信息。
订单系统:提供下单、查询订单、修改订单状态、定时处理订单。
搜索系统:提供商品的搜索功能。
单点登录系统:为多个系统之间提供用户登录凭证以及查询登录用户的信息。
2、系统架构:

3、1000并发:

需要20台服务器做tomcat集群。当tomcat集群中节点数量增加,服务能力先增加后下降。
所以集群中节点数量不能太多,一般也就5个左右。
10000并发:
需要按照功能点把系统拆分,拆分成独立的功能。单独为某一个节点添加服务器。需要系统之间配合才能完成整个业务逻辑。叫做分布式。

分布式架构:多个子系统相互协作才能完成业务流程。系统之间需要进行通信。
集群:同一个工程部署到多台服务器上。
分布式架构:
把系统按照模块拆分成多个子系统。
优点:
1、把模块拆分,使用接口通信,降低模块之间的耦合度。
2、把项目拆分成若干个子项目,不同的团队负责不同的子项目。
3、增加功能时只需要再增加一个子项目,调用其他系统的接口就可以。
4、可以灵活的进行分布式部署。
缺点:
1、系统之间交互需要使用远程通信,接口开发增加工作量。
2、各个模块有一些通用的业务逻辑无法共用。
4、基于soa的架构
SOA:Service Oriented Architecture面向服务的架构。也就是把工程拆分成服务层、表现层两个工程。服务层中包含业务逻辑,只需要对外提供服务即可。表现层只需要处理和页面的交互,业务逻辑都是调用服务层的服务来实现。

5、宜立方商城系统架构:

五、工程搭建
使用maven管理工程。
Jar包的管理
工程之间的依赖管理
自动打包
1、本地仓库的配置(把jar包的文件解压到setting.xml中配置的文件路径中)

2、parent、manager、common工程搭建
pom.xml的配置
文件头:
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/xsd/maven-4.0.0.xsd"> 3 <modelVersion>4.0.0</modelVersion>
4 </project>
中间(父类部分):
1 <parent> //继承父项目的,需要这个标签,没有的不用写 2 <!--被继承的父项目的构件标识符--> 3 <artifictId> </artifactId> 4 <!--被继承的父项目的全球唯一标识符--> 5 <groupId> </groupId> 6 <!--被继承的父项目的版本--> 7 <version> </version> 8 <!--包的类型--> 9 <packaging> </packaging> 10 </parent>
1 <!--父包--> 2 <groupId>asia.banseon</groupId> 3 <!-- 构件的标识符,它和group ID一起唯一标识一个构件。换句话说,你不能有两个不同的项目拥有同样的artifact ID和groupID;在某个 特定的group ID下,artifact ID也必须是唯一的。构件是项目产生的或使用的一个东西,Maven为项目产生的构件包括:JARs,源 码,二进制发布和WARs等。--> 4 <artifactId>banseon-maven2</artifactId> 5 <!--项目产生的构件类型,例如jar、war、ear、pom。插件可以创建他们自己的构件类型,所以前面列的不是全部构件类型--> 6 <packaging>jar</packaging> 7 <!--项目当前版本,格式为:主版本.次版本.增量版本-限定版本号--> 8 <version>1.0-SNAPSHOT</version>
中间(依赖包部分):
1 <!--该元素描述了项目相关的所有依赖。 这些依赖组成了项目构建过程中的一个个环节。它们自动从项目定义的仓库中下载。要获取更多信息,请看项目依赖机制。--> 2 <dependencies> 3 <!--参见dependencies/dependency元素--> 4 <dependency> 5 ...... 6 </dependency> 7 </dependencies>
中间(子模块部分):
1 <!--模块(有时称作子项目) 被构建成项目的一部分。列出的每个模块元素是指向该模块的目录的相对路径--> 2 <modules> 3 <module>...</module> 4 <module>...</module> 5 <module>...</module> 6 <modules/>
中间(配置插件):
1 <build> 2 <plugins> 3 <plugin> 4 <groupId> </groupId> 5 <artifactId> </artifactId> 6 <version> </version> 7 <configuration> 8 <path> </path> 9 <port> </path> 10 </configuration> 11 </plugin> 12 <plugin> 13 .... //同上 14 </plugin> 15 </plugins> 16 </build>
3、tomocat插件启动
clean tomcat7:run
六、逆向工程
参考springmvc(2)中的逆向工程
mapper———dao
pojo———pojo
七、ssm框架整合
八、整合测试

浙公网安备 33010602011771号