摘要:本文主要向大家介绍了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频道!
您输入的评论内容中包含违禁敏感词
我知道了
请输入正确的手机号码
请输入正确的验证码
您今天的短信下发次数太多了,明天再试试吧!
我们会在第一时间安排职业规划师联系您!
您也可以联系我们的职业规划师咨询:
版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
沪公网安备 31011502005948号