JAVA语言五大框架Struts,Spring,Hibernate,Spring MVC,Mybatis的使用记录
小标 2018-11-05 来源 : 阅读 1130 评论 0

摘要:本文主要向大家介绍了JAVA语言五大框架Struts,Spring,Hibernate,Spring MVC,Mybatis的使用记录,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助。

本文主要向大家介绍了JAVA语言五大框架Struts,Spring,Hibernate,Spring MVC,Mybatis的使用记录,通过具体的内容向大家展示,希望对大家学习JAVA语言有所帮助。


 

概述 Struts Spring MVC Spring Hibernate Mybatis


概述


记录下Java五大框架(Struts,Spring,Hibernate,Spring MVC,Mybatis)的学习笔记


五大框架:

MVC模式框架控制层框架 数据持久层框架

Struts SpringHibernate(重量级)SSH开发模式

SpringMVC MyBatis(轻量级)  SSM开发模式

   



Struts


基于MVC设计模式的框架,每次请求都是一个类级别Action,都是一个Servlet


控制器类继承 com.opensymphony.xwork2.ActionSupport 类重写execute() 方法,请求到对应Action类时,前台属性会注入到Action类的成员属性中,对应成员属性的值,在jsp页面也可以使用Struts的标签库访问到


web.xml文件中配置 org.apache.struts2.dispatcher.ng.filter.StrutsPrepareAndExecuteFilter


拦截了所有的项目中的请求,进行对客户不同的请求行为的分发,分发给不同的控制器(actionjavabean),返回装饰页面



Spring MVC


基于MVC设计模式的框架,类属Spring系列,可以很好的融合Spirng框架,不同于Struts每个类对应一个请求,它是方法级别的对应每个请求,更好的实现了 Resultful 风格


Spring MVC只有一个Servlet作为整个项目的请求的分发器,找到对应请求的类,方法对应的地址


强大的前台视图解析器:framework,更好的处理青苔数据


每个请求对应的方法,都可以设置注解,可以配置对应请求的多个地址信息,限定请求方式,请求的编码等,做更多样化处理。同时还可以根据注解配置,支持json数据自动传输,和接收json数据格式



Spring


Sping是一个轻量级的DI和AOP容器框架,DI:称作依赖注入(Dependency Injection),和控制反转一个概念,具体的讲,当一个角色需要另外一个角色协助的时候,在传统的程序设计中,通常有调用者来创建被调用者的实例。但是在spring中创建被调用者将不再有调用者完成,因此叫控制反转。创建被调用对象有Spring来完成,在容器实例化对象的时候主动的将被调用者(或者说它的依赖对象)注入给调用对象,因此又叫依赖注入。


AOP:Spring对面向切面编程提供了强有力的支持,通过它让我们将业务逻辑从应用服务(如事务管理)中分离出来,实现了高内聚开发,应用对象只关注业务逻辑,不再负责其它系统问题(如日志、事务等)。Spring支持用户自定义切面。


容器:Spring是个容器,因为它包含并且管理应用对象的生命周期和配置。如对象的创建、销毁、回调等。


框架:Spring作为一个框架,提供了一些基础功能,(如事务管理,持久层集成等),使开发人员更专注于开发应用逻辑。



Hibernate


Hibernate功能强大,数据库无关性好,O/R映射能力强, Hibernate对数据库结构提供了较为完整的封装,Hibernate的O/R Mapping实现了POJO 和数据库表之间的映射,以及SQL 的自动生成和执行


Hibernate的缺点就是学习门槛不低,要精通门槛更高,而且怎么设计O/R映射,在性能和对象模型之间如何权衡取得平衡,以及怎样用 好Hibernate方面需要你的经验和能力都很强才行,但是Hibernate现在已经是主流O/R Mapping框架,从文档的丰富性,产品的完善性,版本的开发速度都要强于Mybatis


Hibernate 缓存机制:一级缓存Session级别缓存 ,二级缓存SessionFactory级别缓存



Mybatis


Mybatis入门简单, 即学即用,提供了数据库查询的自动对象绑定功能,而且延续了很好的SQL使用经验,对于没有那么高的对象模型要求的项目来说,相当完美


简化了数据绑定代码,但是整个底层数据库查询实际还是要自己写的,工作量也比较大,而且不太容易适应快速数据 库修改。当系统属于二次开发,无法对数据库结构做到控制和修改,那iBATIS的灵活性将比Hibernate更适合。系统数据处理量巨大,性能要求极为 苛刻,这往往意味着我们必须通过经过高度优化的SQL语句(或存储过程)才能达到系统性能设计指标。在这种情况下iBATIS会有更好的可控性和表现。


          

本文由职坐标整理并发布,希望对同学们有所帮助。了解更多详情请关注编程语言JAVA频道!


本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 1 不喜欢 | 0
看完这篇文章有何感觉?已经有1人表态,100%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程