什么叫SSH框架

ssh 是java程序员使用的最多的三个框架,这三个框架如果按照从前台到后台的层次来划分的话,第一个应该是Struts。
之所以要把Struts划分为前台框架,是因为Struts跟前台打的交道最多。不管是前台往后台传值还是后台往前台传值,基本上都是通过Struts实现。
Struts还能管理业务的流转,将视图和业务逻辑解耦,使得程序的耦合度降低。


第二个是Spring,但我不准备先讲Spring,我想先讲一下hibernate,感觉这样能讲的更好一点。Hibernate是一个数据持久层框架,能帮助我们跟数据库打交道。
大家都知道,java是一种面向对象的语言,所有我们在问题领域的实体都是对象,但往往我们用的都会是关系型的数据库。所以。每当我们要把问题领域中的对象存储到数据库之中时,
就要完成对象到关系的转化,这要求我们要写很多的sql代码。sql代码写多了有好处也有坏处,好处是我们可以完全掌控自己的sql代码,而且如果sql功底很好,
我们自己写的sql代码性能很高。但是缺点也是有的,现在主流的sql有plsql tsql ,sql代码太多的话,如果有一天,我们需要从plsql转换到tsql,工作量很大。
而且,大量的sql会使代码的耦合度很高,对于代码的重构是个灾难。hibernate就能帮我们解决这个问题,它能帮助我们完成对象到关系的映射,
这使得我们可以用面向对象的思想来完成对数据库的操作。这使得封装持久化操作的业务逻辑不再需要编写烦琐的JDBC语句,从而使数据持久层得到了极大的简化。


最后就是spring,用于降低层与层间耦合度的。Spring是一个工厂模式的框架,就是所有的类都可以由spring统一创建,用时只需注入即可(IOC)。
以前我们的老师把它叫做粘合剂,用来粘合Struts和hibernate,所谓的粘合,就是达到了一个联通的作用。struts要调用service层的 UserService.java 的方法,
不用spring的话,就要先new 一个UserService,才能调用其中的方法。而用spring则可以把UserService作为一个Struts Action 的属性,由spring去实例化,
这样实例化对象的任务就交给了spring。 Spring的AOP机制是面向切面编程,面向切面的思想允许我们在xml文件之中配置切什么,在哪里切,
所以我们只需要配置好xml文件,就能达到编程的效果。

你可能感兴趣的:(SpringMVC,hibernate,Spring,Struts2,ssh)