SSM概述

基本概念

SSM = Spring + SpringMVC + MyBatis

Spring

简单来说,就是一个轻量级的控制反转(IOC)和面向切面(AOP)的容器框架。其中IOC可以说是SSM的核心之一。

SpringMVC

分离了控制器、模型对象、分派器以及处理程序对象的角色,这种分离让它们更容易进行定制。

MyBatis

消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。它使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(Plain Old Java Objects)映射成数据库里的记录。

MVC模式

MVC是一种分层开发的模式,其中:

  • M:Model,业务模型,处理业务
  • V:View,视图,界面展示
  • C:Controller,控制器,处理请求,调用模型和视图

mvc SessionState 配置 mvc ssm_前端页面

三层架构

mvc SessionState 配置 mvc ssm_xml配置_02

持久层 / 数据访问层

属于MyBatis模块,也就是Dao层(Mapper层)。主要负责与数据库进行交互设计,用来处理数据的持久化工作,简单来说就是进行CRUD操作。

Dao层设计首先是设计Dao的接口,然后在Spring的xml配置文件中定义此接口的实现类即可,Dao层的jdbc.properties数据源配置,以及有关数据库连接的参数都在Spring的配置文件中进行配置。

业务逻辑层

属于Spring模块,也就是Service层。主要负责业务模块的逻辑应用设计。

首先是设计Service的接口,再设计其实现的类,最后impl实现类通过调用DAO层已定义的接口,去实现Service的接口类。当然在搭建SSM框架时已在Spring的xml配置文件中配置好其实现的关联。

控制层 & 表现层

属于SpringMVC模块,也就是Controller层(Handler层)和View层。

Controller层主要负责具体的业务模块流程控制,通过要调用Service层的接口来控制业务流程,其配置也同样在Spring的xml配置文件中,针对具体的业务流程会有不同的控制器。

View层则负责前端页面展示,需要和Controller层结合起来开发,即前端页面发送请求,控制层接收请求并处理,最后返回数据到前端。

MVC模式与三层架构

mvc SessionState 配置 mvc ssm_xml配置_03

层级间的联系

为了能更快速的理解SSM框架中各层之前的关系,直接用一个实例来说明。如:前端页面需要展示一个地区列表的模块实现

mvc SessionState 配置 mvc ssm_mvc SessionState 配置_04