基于SOA的架构
SOA:Service Oriented Architecture面向服务的架构。也就是把工程都拆分成服务层工程、表现层工程。服务层中包含业务逻辑,只需要对外提供服务即可。表现层只需要处理和页面的交互,业务逻辑都是调用服务层的服务来实现。工程都可以独立部署。
淘淘商城系统架构
1. 技术选型和开发环境
1.1. 技术选型
- Spring、SpringMVC、Mybatis
- JSP、JSTL、jQuery、EasyUI、KindEditor(富文本编辑器)
- Redis(缓存服务器,单点登录,购物车)
- Solr(搜索)
- dubbo(分布式服务框架)
- HttpClient(HTTP 协议访问客户端)
- ActiveMQ(消息队列)
- Quartz(定时任务)
- FastDFS(图片服务器)
- FreeMarker(网页静态化)
- Nginx(反向代理服务器)
- MyCat(数据库中间件)
- Eclipse Mars.2
- Maven 3.3.9
- Tomcat 7.0.72(Maven Tomcat Plugin)
- JDK 1.7
- Mysql 5.7
- Dubbo 2.5.3
- Nginx 1.8.0
- Redis 3.0.0
- ActiveMQ 5.13.0
- Win7 操作系统
- SVN(版本管理)
1.2. 开发工具版本和环境
2. 工程搭建
2.1. 使用maven的好处
使用maven管理工程。
Jar包的管理
工程之间的依赖管理
自动打包
统一的版本的控制。
2.2. 后台管理系统工程搭建分析
Maven的常见打包方式:jar、war、pom
Pom工程一般都是父工程,管理jar包的版本、maven插件的版本、统一的依赖管理。聚合工程。
taotao-parent:父工程,打包方式pom,管理jar包的版本号。
| 项目中所有工程都应该继承父工程。
|--taotao-common:通用的工具类通用的pojo,util。打包方式jar
|--taotao-manager:服务层工程。聚合工程。Pom工程
|--taotao-manager-dao:打包方式jar
|--taotao-manager-pojo:打包方式jar
|--taotao-manager-interface:打包方式jar
|--taotao-manager-service:打包方式:war (为了发布服务的方便)
|--taotao-manager-web:表现层工程。打包方式war
2.3. 工程搭建
2.3.1. taotao-parent
Pom工程。
开发环境:eclipse mars2 (32)
Maven:3.3.9
本地仓库:默认位置在~/.m2/repository
Eclipse不需要配置,只需要把本地仓库放到当前用户目录下的.m2下。
jdk 1.7 (32位)
注意:本地仓库使用此已经提供的,将以下的文件解压后,放到电脑对应的.m2目录。
在\01.参考资料\maven\MavenRepository目录下
(1)
视频中没有本地库文件,所以重新建了一个空的,可能会出问题。
配置parent的pom,从文档中复制的。pom.xml的配置是根据项目写的,中途有用到再补
里面有很多配置和我自己的版本不一样,目前只改了jdk,再找找其他需要改的.
(2)遇到了的问题,好像是个日志包没法自动下载,我从网上下的。第二个我web层设置的8081端口,却一直出错,使用8080的,
运行的时候tomcat写tomcat7,记得把运行的tomcat(javaw)关了.