当前位置:   article > 正文

主流框架介绍与区别_介绍下主流框架的区别

介绍下主流框架的区别

一、主流框架介绍:

     SSH:Spring + Struts2/Struts + Hibernate 

     SSM:Spring +  SpringMVC   + MyBatis


二、Mybatis(ibatis)与Hibernate区别:

相同点:

1) 都屏蔽jdbc api的底层访问细节,使用我们不用与jdbc api打交道,就可以访问数据

2) 都是ORM框架,基于ORM思想解决了entity和数据库的映射问题

3) Hibernate与MyBatis都是通过SessionFactoryBuider由XML配置文件生成SessionFactory,由SessionFactory 生成Session,由Session来开启执行事务和SQL(Structured Query Language,结构化查询语言)语句。

不同点:

1) Hibernate是一个全自动的orm映射工具,可自动生成sql语句;ibatis需要我们自己在mapper.xml配置文件中写sql语句更灵活

2) hibernate要比ibatis功能复杂和强大很多。因为hibernate自动生成sql语句,我们无法控制该语句,我们就无法去写特定的高效率的sql。对于一些不太复杂的sql查询,hibernate可以很好帮我们完成,但是,对于特别复杂的查询,hibernate就很难适应了,这时候用ibatis就是不错的选择,因为ibatis还是由我们自己写sql语句;

3) hibernate的hql数据库移植性更好,而Mybatis对不同的数据库需要写不同的SQL

4)mybatis和hibernate都可以使用第三方缓存,而hibernate相比maybatis有更好的二级缓存机制。

说明:

Hibernate 和 Mybatis 一个好比是单反相机一个好比是普通相机,单反相机可以根据自己的需求进行设置和更改,从而能拍出更好的照片。由于Hibernate的过度封装,自动生成SQL语句太过于自动化了,不利于个性化设置,使它在SQL优化方面不如Mybatis。特别是设计到级联查询的时候。

三、Struts2和SpringMVC区别:

1)Struts2 的入口是Filter,而SpringMVC的入口是Servlet

2)  Struts2 基于类的设计,每发送一个请求都对应一个Action,而SpringMVC基于方法。因此SpringMVC的执行速度比Struts2稍快

3)在页面开发方面,Struts2的OGNL比SpringMVC效率高;但SpringMVC支持JSR303、Spring表单标签等,处理起来更方便。

四、struts1与struts2的区别:

1) 都是MVC的WEB框架;

2) struts1的前端控制器是一个Servlet,名称为ActionServlet,struts2的前端控制器是一个filter,在struts2.0中叫FilterDispatcher,在struts2.1中叫StrutsPrepareAndExecuteFilter;

3) struts1的action需要继承Action类,struts2的action可以不继承任何类;struts1对同一个路径的所有请求共享一个Action实例,struts2对同一个路径的每个请求分别使用一个独立Action实例对象,所有对于struts2的Action不用考虑线程安全问题。

4) 在struts1中使用formbean封装请求参数,在struts2中直接使用action的属性来封装请求参数。

5) struts1中的多个业务方法放在一个Action中时(即继承DispatchAction时),要么都校验,要么都不校验;对于struts2,可以指定只对某个方法进行校验,当一个Action继承了ActionSupport且在这个类中只编写了validateXxx()方法,那么则只对Xxx()方法进行校验。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/黑客灵魂/article/detail/955597
推荐阅读
相关标签
  

闽ICP备14008679号