10.1 总体说明和概要设计
本章的应用包括了前端开发+后端应用两个部分。本应用的后台结构是一个完善的轻量级Java EE
架构,应用架构采用Spring MVC
作为后端控制器,负责对外提供JSON
响应,jQuery
则负责与Spring MVC
暴露的JSON
接口进行交互。
10.1.1 系统的总体架构设计
该系统后台采用Java EE
的三层结构
,分别为控制器层
、业务逻辑层
和数据服务层
。其中,将业务规则、数据访问等工作放到中间层处理,客户端不直接与数据库交互,而是通过控制器与中间层建立连接,再由中间层与数据库交互。系统的数据持久化层使用MySQL
数据库存放数据。
系统使用HTML
页面作为表现层,jQuery
通过调用Spring MVC
所暴露的JSON
接口与服务器端交互,当jQuery
拿到服务器端响应的JSON
数据后,jQuery
会读取、遍历JSON
数据,然后通过jQuery
的DOM
操作将数据动态显示在页面上。
中间层分层
系统中间层采用Spring 4.3+Hibernate 5.2
结构,为了更好地分离,中间层又可细分为如下几层。
- 控制器层:控制器层负责对外暴露
JSON
接口。 - 业务逻辑层:负责实现业务逻辑,业务逻辑组件是
DAO
组件的门面。 **DAO
层**:封装了数据的增、删、改、查等原子操作。Domain Object
层(领域对象层):通过实体/关系映射工具将领域对象映射成持久化对象,从而可以以面向对象方式操作数据库。本系统采用Hibernate
作为ORM
框架
Spring
框架贯穿整个中间层,Spring
可以管理持久化访问所需的数据源,也可以管理Hibernate
的SessionFactory
,并可以管理业务逻辑组件和DAO
组件之间的依赖关系。整个系统前端综合使用了jQuery
和Bootstrap
,其中Bootstrap
负责提供丰富的CSS
样式以及各种界面组件,而jQuery
则负责与Spring MVC
暴露的JSON
接口交互,向服务器端提交请求,获取服务器端响应的数据,并将服务器端响应的数据动态更新在页面上。系统的总体架构如图10.1所示。