首先我们先了解下什么是SSH框架吧。
SSH框架一般指的是Struts、Spring、Hibernate,后来Struts2代替了Struts。最近5年,Struts2已经被Spring MVC代替,而Hibernate基本也被iBatis/MyBatis代替。
所以你真正需要了解的是Spring,Spring你需要了解两个概念AOP和IOC,更进一步就是Spring的核心技术“动态代理”。
持久层框架看看Hibernate/iBatis/MyBatis,研究一下Spring的数据库事务管理,各个持久层框架式如何实现ORM的,了解至少一种缓存框架,知道什么是数据库连接池。和数据库的交互最核心的不是ORM,而是掌握和数据库相关的能力,比如数据库编程、SQL优化、对范式的理解。
1、什么是Struts?
从简单性来看,Struts是这三个框架中最简单的一个,它是基于MVC的框架。它通过采用JavaServlet/JSP技术,实现了基于Java EEWeb应用的MVC设计模式的应用框架,是MVC的一个具体实现或着说是MVC的一个具体产品。
2、Struts的核心构成 ?
(1)Model
由Action、ActionForm以及JavaBean组成,其中ActionForm用于将用户请求的参数,封装成为ActionForm对象,我们可以理解为实体,由ActionServlet转发给Action,Action处理用户请求,将处理结果返回到界面。
(2)View
该部分采用JSP+大量的taglib,实现页面的渲染。
(3)Controller
Controller是Struts的核心控制器,负责拦截用户请求,通过调用Model来实现处理用户请求的功能。
3、为什么使用Struts?
使用Struts作为系统的整体基础架构,负责MVC的分离,将页面从业务逻辑分离出来,使用页面更加灵活多变,不会影响业务逻辑,简化了基于MVC的web应用程序的开发,因而使得开发更加高效。
1、什么是Hibernate?
Hibernate是一个对象关系映射框架,它对JDBC进行了轻量级的封装,使得我们使用面向对象的思想操作关系型数据库
2、为什么使用Hibernate?
(1)Hibernate是JDBC的轻量级的对象封装,它使得与关系型数据库打交道变得更加轻松自如。
(2)对象化,它使得我们可以以面向对象的思想操作关系型数据库,简化了Dao层编码工作,使得开发更加对象化了。
(3)移植性更好,支持各种数据库,更换数据库异常简单,不需要改代码。
(4)实现了透明持久化,没有实现第三方框架或接口,没有侵入性,是一种轻量级框架。
1、什么是Spring?
简单来说,Spring是一个轻量级的控制反转(IoC)和面向切面(AOP)的容器框架。
2、Spring的核心构成 ?
(1)IoC
IoC就是IoC,不是什么技术,是一种设计模式。通过依赖注入的方式,由spring管理和控制对象之间的依赖关系,避免硬编
码所造成的过度程序耦合。
(2)AoP
通过预编译方式和运行期动态代理实现程序功能的统一维护的一种技术。
(3)容器
能管理对象的生命周期、对象与对象之间的依赖关系就是容器。
3、为什么使用Spring?
没有Spring,Struts和Hibernate可以很好的运行,我称这样的模式为“独木桥”,但是有了Spring,Struts和Hibernate能够更好的结合在一起,协调的工作。我称这样的模式为“阳光大道”。Spring的核心思想是IoC和AOP,Spring使得管理对象更加方便,极大的降低组件之间的耦合度,实现了软件各层之间的解耦。Spring的优点还有很多,我们就不再累述了。
总结:
SSH不仅实现了视图、控制器与模型的彻底分离,而且还实现了业务逻辑层与持久层的分离,耦合度降低,系统的灵活性更好,可复用性高。同时,框架为我们提供了一些基础性的服务,使我们的开发更加简单,大大提高开发效率。