前言
想要搭建SSM框架是在我刚刚写完Easyui这个前台框架之后才想去弄的。说句实话,为什么我想学他呢?首先,在进入大三学习开始的时候,我就决定了,以后要做一名java或者大数据的工程师,同时准备在大三将java的东西都过一遍,所以SSM这个东西我是肯定要经历的。其次,SSM框架作为现在最实用的后端框架,它集合了很多java重要的知识,对我学习java百利而无一害。最后,在经过了大二一个学期的java web学习,如果自己想要更好、更快的开发网页后端,SSM则是我最需要学习的东西。
正文
那么SSM究竟是什么呢?SSM=Spring+Springmvc+Mybatis。用语言来描述呢,它是集成了Spring、Springmvc、Mybatis三个框架的集成框架。那么那三个框架又是什么呢?
1、Spring
Spring是一个开源框架,是一个轻量级的Java的开发框架。说到这里,很多人会问,什么 是轻量级?我也是学了Spring之后才了解这个东西的,在这里,就框架我来解释下。
首先,有轻量级必定有重量级,而轻量级和重量级的最重要的区分就是占用资源的多少和解决问题的侧重点。简而言之,轻量级是指它的创建和销毁不需要消耗太多的资源,意味着可以在程序中经常创建和销毁session 的对象;重量级意味不能随意的创建和销毁它的实例,会占用很多的资源。轻量级框架侧重于减小开发的复杂度,相应的它的处理能力便有所减弱(如事务功能弱、不具备分布式处理能力),比较适用于开发中小型企业应用。重量级框架则强调高可伸缩性,适合与开发大型企业应用。
那么,为什么说Spring是一个轻量级框架呢?简单点说,Spring框架在系统初始化时,并没有调用所有的服务,占用资源少。同时,它在Java开发中,大大降低了开发的复杂度。那么具体的Spring追踪在下一篇文章中会详细介绍。
2、Springmvc
上面对Spring进行了一点简单的介绍,接下来就是Springmvc。
Springmvc其实是属于SpringFrameWork的后续产品,它也是一个轻量级的框架,一个轻量级的,基于响应请求的mvc框架。既然它的名字当中有Spring这几个单词,那么我们可以很容易地知道,它和Spring在共同开发的时候是完美契合的。
Springmvc的优点
a、性能比structs2要好 b、简单、便捷、易学
c、天生和Spring无缝集成(使用Spring的核心IOC、DI、AOP)
d、使用约定优于配置 e、能够进行简单的junit测试
f、支持Resultful风格 h、异常处理
。。。。。。。(最重要的:使用的公司多)
3、Mybatis
最后到了Mybatis。
MyBatis是一个基于Java的持久层框架。它消除了几乎所有的JDBC代码和参数的手工设置以及结果集的检索。MyBatis使用简单的XML或注解用于配置和原始映射,将接口和Java的POJOs(Plain Old Java Objects,普通的Java对象)映射成数据库中的记录。
相较于Hibernate,Mybatis更适合与公司项目的开发。那么,我们比对一下他们的本质区别和应用场景。
Hibernate:是一个标准的ORM框架(对象关系映射)。入门门槛十分高,不需要写sql,它会自动生成。然而在对sql语句的优化、修改非常困难。
应用场景:适用于需求变化不多的中小型项目。
Mybatis:专注于sql本身,需要程序员自己编写sql语句,sql修改、优化比较方便。当然呢,它是一个不完全的ORM的框架,虽然程序员自己写sql,但是也可以实现映射。
应用场景:适用于需求变化较多的项目
结束
最后附上整个框架的运行流程: