SSM框架(一)---宏观了解
前言:
最近小编开发的项目采用的是SSM框架,由于是初接触,便想起来之前用过的SSH框架,下面就介绍下什么是SSM,并和SSH做个简单的对比。
简介:
SSM即使Spring + SpringMVC + MyBatis ,之前用到的SSH是Spring + Structs + Hibernate ,从表面上看还是有一些相像的地方。
Spring:
Spring是一个开源框架,于2003 年兴起的一个轻量级的Java 开发框架,由Rod Johnson创建。简单来说,Spring是一个分层的JavaSE/EEfull-stack(一站式) 轻量级开源框架。简单说,Spring是一个轻量级的控制反转(IOC)和面向切面的(AOP)的容器框架。
Spring MVC
Spring MVC是一种基于Java的实现了Web MVC设计模式的请求驱动类型的轻量级Web框架,即使用了MVC架构模式的思想,将web层进行职责解耦,基于请求驱动指的就是使用请求-响应模型,框架的目的就是帮助我们简化开发,Spring MVC也是要简化我们日常Web开发的。
Structs起到相同的功能,只是它是集成其他MVC开发框架。
Mybatis:
MyBatis 本是apache的一个开源项目iBatis, 2010年这个项目由apache software foundation 迁移到了google code,并且改名为MyBatis。
MyBatis是一个可以自定义SQL、存储过程和高级映射的持久层框架。MyBatis 摒除了大部分的JDBC代码、手工设置参数和结果集重获。MyBatis只使用简单的XML 和注解来配置和映射基本数据类型、Map 接口和POJO 到数据库记录。相对hibernate和ApacheOJB等“一站式”ORM解决方案而言,Mybatis 是一种“半自动化”的ORM实现。
SSM的系统架构图:
对比:
SSM和SSH不同主要在MVC实现方式,以及ORM持久化方面不同(Hiibernate与Mybatis)。SSM越来越轻量级配置,将注解开发发挥到极致,且ORM实现更加灵活,SQL优化更简便;而SSH较注重配置开发,其中的Hiibernate对JDBC的完整封装更面向对象,对增删改查的数据维护更自动化,但SQL优化方面较弱,且入门门槛稍高。