您的位置:首页 > 编程语言 > Java开发

Java 三大主流框架,Struts、Hibernate、Spring

2017-10-25 16:46 477 查看
1、传统的javaWeb MVC分层:JSP+Servlet+JavaBean;
【1】负责前台展示的JSP;
【2】负责流程逻辑控制的Servlet;
【3】负责数据封装的Javabean。
这种结构存在问题:
【1】JSP页面中需要使用<%%>符号嵌入很多的java代码,造成页面混乱;
【2】Servlet和Javabean负责了大量跳转工作和运算工作、耦合紧密,程序复用度低等等。

2、Struts
为了解决以上问题,出现Struts框架,他是一个完美的MVC框架:
【1】有一个中央控制类(一个Servlet) ;
【2】一个Action负责页面跳转和后台逻辑运算;
【3】一个或几个JSP页面负责数据的输入输出和显示;
【4】还有一个Form类负责传递Action和JSP中间的数据。

struts优点:JSP中可以使用Struts框架提供的一组标签,就像使用HTML标签一样简单,但是可以完成非常复杂的业务逻辑,
从此JSP页面中不需要出现一行<%%>包围的Java代码了。

Struts缺点:所用运算逻辑都放在StrutsStruts的Action里将使得Action类复用度降低和逻辑混乱,s

通常人们会把整个Web应用程序分为三层,Struts负责显示层,它调用业务层完成运算逻辑,业务层再调用持久层完成数据库
的读写。

使用JDBC连接来读写数据库,我们组常见的是打开数据库连接、使用复杂的SQL语句进行读写、关闭连接,获得的数据又需要转换或封装后往外传,
这是一个非常繁琐的过程。

3、Hibernate
为了实现队JDBC的封装,这时出现了Hibernate框架,它需要你建立一系列的持久化类,每个类的属性都可以简单看作和一张数据库标的属性一一对应
,当然也可以实现关系数据库的各种表件关联的对应。有了HIBernate,不再关注数据库表,我们不再去一行行的查询数据库,只需要持久化类就可以完成增删改查的功能
。使得我们的软件开发真正面向对象,而不是面向混乱的代码,使用Hibernate比JDBC方式减少了80%编程量。

4、Spring
有了Struts、Hibernate,可以实现MVC三个层了,显示层的Struts需要调用一个业务类,需要new一个业务类出来,然后
使用;业务层需要调用持久层的类,也需要new一个持久层类出来。通过这种new的方式相互调用就是软件开发中最糟糕的
体现。调用者被依赖者调用,他们之间形成了强耦合,如果过我想在其他地方复用某个类,则这个类依赖的其他类也需要包含。程序就变得混乱,每个类互相调用,复用度极低
,如果一个类做了修改,则这个类依赖它的其他类也需要包含。程序就变得很混乱,每个类互相依赖互相调用,复用度极低。如果一个类做了修改,则依赖它的很多类都会受到牵连。
为此,出现Spring框架。

Spring框架的作用就是完全解耦类之间的依赖关系,一个类如果要依赖什么,那就是一个接口。至于如何实现这个接口,
这都不重要了。只要拿到一个实现了这个接口的类,就可以轻松的通过XML配置文件把实现类注射到调用接口那个类里。
所有类之间的这种依赖关系就完全通过配置文件方式替代了。所以Spring框架最核心的就是所谓依赖注射和控制反转。

现在的结构是,Struts负责显示层,Hibernate负责持久层,Spring负责中间的业务层,这个结构是目前国内最流行的Java Web应用程序框架了。
另外,有由于Spring使用的依赖注射以及Aop(面向方面编程),所以它的这种内部模式非常优秀,以至于Spring自己也实现了
一个使用依赖注射的MVC框架,叫做SpringMVC,同时为了很好的处理事物,Spring集成了Hibernate,使事务管理Hibernate的持久层提升到业务层
,使用更方便和强大。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  java web mvc javabean