![](https://csdnimg.cn/release/download_crawler_static/88199473/bg8.jpg)
第 2 章 主要技术和工具介绍
2.1 SSM 框架
SSM 框架整合即为 Spring、SpringMVC、MyBatis 三个开源框架的整合。主要是
采用 Spring,MyBatis 进行 SSM 整合。
2.1.1. Spring 框架
Spring 是一个开放源代码、轻量级的 Java 开发框架。通过 Spring 提供的 IoC 容
器,我们可以将对象之间的依赖关系交由 Spring 进行控制,避免硬编码所造成的过度
程序耦合。在这里举个例子来说明 IoC 的核心思想,支付宝在整个淘宝体系里就是庞大
的 IoC 容器,交易双方之外的第三方,提供可靠性可依赖可灵活变更交易方的资源管
理中心。我们在设计商城的时候:先设计商家,然后根据商家设计商品,接着根据商品
设计买家,最后根据买家设计仓储。这里就出现了一个“依赖”关系:商品依赖商家,
买
家依赖商品,商品依赖库存。商品、买家、卖家、仓储之间的资源不由使用资源的
双方管理,而由不使用资源的第三方即 Spring 的 IoC 容器来管理,这可以带来很多好
处。第一,资源集中管理,实现资源的可配置和易管理。第二,降低了使用资源双方的
依赖程度,也就是我们说的耦合度。这样以后我们在对商品、卖家、买家、仓储的服务
上增加或者增强功能模块的时候就不必要在商品、买家、卖家、仓储每个服务去修改,
提高了后期维护的效率。
Spring 还有一个很重要的特性,就是可以方便集成各种优秀的框架。海田在线商城
主要集成了 Dubbo 服务框架、Redis 缓存服务、Solr 搜索服务、ActiveMQ 消息队列服
务。Spring 集成海田商城要用到的第三方框架后,就可以通过简单的配置调用第三方框
架提供的 API,实现商城的业务服务。具体整合及特性如下:
1) 在商城 SOA 业务服务层集成了分布式的 Dubbo 服务框架,例如使用 Dubbo
实现分布式服务框架来提供相关商品的展示、商品搜索等服务时,只需在提供这些服务
的 web 程序的 SSM 配置文件上加上 Dubbo 的关键配置<dubbo:service interface="提供
商品相关服务的接口"ref="商品相关服务的实现类的 bean 的 id"/><bean id="商品相关
服务的实现类的 bean 的 id" class="商品相关服务的实现类"/>这样就可以把商品服务注
册到服务中心,当要使用这些商品服务的 web 程序,如商城主页,就可以透明化的远
程方法调用,就像调用本地方法一样调用远程方法。
2) 在商城的系统服务层整合了用来做缓存的 Redis 缓存库和用来提供搜索服务的
Solr 集群,使得整个系统数据库的负载大大降低,提高运行速度。数据库则整合了
MyBatis,下面详述。
3) Spring 系统中我们还内嵌了 ActiveMQ,ActiveMQ 是强劲的消息总线,不论是