一、系统架构
所谓系统架构是指整个应用系统程序大的结构,经常提到的系统结构有两种:三层架构与MVC.这两种结构机区别,又有联系。但是这两种架构的使用都是为了降低系统模块的耦合度。
1.1 三层架构
三层架构是指:视图层View,服务层Service,与持久层DAO。他们分别完成不同的功能。
View层:用于接收用户 提交请求的代码
Serview层:系统的业务逻辑
DAO层:直接操作数据库的代码
为了更好的降低各层级的耦合度,在三层架构程序设计中,采用面向抽象编程。即上层对下层的调用,是通过接口实现的。而下层对上层的真正服务提供者,是下层接口的实现类。服务标准是相同的,服务提供者可更换。这就实现了层间耦合。
1.2 MVC
MVC,即Model模型,View视图,及Controller控制器。
View:视图,为用户提供使用界面,以及controller控制器。
Model:模型,承载数据,并对用户提交请求进行计算的模块。其分为两类,一类称为
(1) 用户通过View页面向服务端提出请求,可以是表单请求,超链接请求,ajax请求等
(2)服务端Controller 控制器接收请求后对请求进行解析,找到相应的Model对用户请求处理
(3)Mdel处理后,将处理结果交给Controller
(4)Controller在接到处理结果后,根据处理结果找到要作为向客户端发回的响应,View页面。页面经渲染(数据填充)后再发送给客户端
1.3 MVC与三层架构的关系
1.4 SSM与三层架构的关系
ssm即SpringMVC,Spring与Mybatis三个框架。它们在三层架构中所处的位置是不同的。即它们在三层架构中的功能各不相同,各司其职。
SpringMVC:作为View层的实现者,完成用户的请求接收功能,SpringMVC的Controller作为整个应用的控制器,完成用户请求的转发以及对用户的响应。
Mybatis:作为DAO层的实现者,完成对数据库的增删改查等功能
Spring;以整个应用大管家的身份出现。整个应用中的所有Bean的 生命周期行为,均由Spring来管理。整个应用中所有对象的创建、初始化、销毁,以及对象间关联关系的维护,均由Spring进行管理。
Spring | DB | ||
View Level | Service Level | DAO Level | |
springmvc | Interfaces | Interfaces | |
Impls | MyBatis |