梳理目前JavaWeb主流及兴起的框架(内涵视频教程)_极悦注册
专注Java教育14年 全国咨询/投诉热线:444-1124-454
极悦LOGO图
始于2009,口口相传的Java黄埔军校
首页 学习攻略 Java学习 梳理目前JavaWeb主流及兴起的框架(内涵视频教程)

梳理目前JavaWeb主流及兴起的框架(内涵视频教程)

更新时间:2019-10-31 09:34:48 来源:极悦 浏览2251次



  小编收集了当前主流的以及正在兴起的JavaWeb框架,以及对框架整合做了简单介绍。


  成熟的框架介绍


  Hibernate框架


  Hibernate是一种ORM框架,全称为Object-RelativeDatabase-Mapping,在Java对象与关系型数据库之间建立某种映射,以实现直接存取Java对象(POJO)。ORM框架是一种不同与MVC的另一种思想框架,适用范围也与MVC截然不同。


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


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


  Struts2框架


  Struts2以WebWork优秀的设计思想为核心,吸收了Struts框架的部分优点,提供了一个更加整洁的MVC设计模式实现的Web应用程序框架


  Struts2以WebWork优秀的设计思想为核心,吸收了Struts框架的部分优点,提供了一个更加整洁的MVC设计模式实现的Web应用程序框架。Struts2引入了几个新的框架特性:从逻辑中分离出横切关注点的拦截器、减少或者消除配置文件、贯穿整个框架的强大表达式语言、支持可变更和可重用的基于MVC模式的标签API,Struts2充分利用了从其它MVC框架学到的经验和教训,使得Struts2框架更加清晰灵活。


  Struts框架(目前已淘汰)


  为了解决这些问题,出现了Struts框架,它是一个完美的MVC实现,它有一个中央控制类(一个Servlet),针对不同的业务,我们需要一个Action类负责页面跳转和后台逻辑运算,一个或几个JSP页面负责数据的输入和输出显示,还有一个Form类负责传递Action和JSP中间的数据。JSP中可以使用Struts框架提供的一组标签,就像使用HTML标签一样简单,但是可以完成非常复杂的逻辑。从此JSP页面中不需要出现一行<%%>包围的Java代码了。可是所有的运算逻辑都放在Struts的Action里将使得Action类复用度低和逻辑混乱,所以通常人们会把整个Web应用程序分为三层,Struts负责显示层,它调用业务层完成运算逻辑,业务层再调用持久层完成数据库的读写。


  MyBatis框架


  MyBatis本是apache的一个开源项目iBatis,2010年这个项目由apachesoftwarefoundation迁移到了googlecode,并且改名为MyBatis。2013年11月迁移到Github。


  iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的持久层框架。iBATIS提供的持久层框架包括SQLMaps和DataAccessObjects(DAOs)。


  Spring框架


  调用者依赖被调用者,它们之间形成了强耦合,如果我想在其他地方复用某个类,则这个类依赖的其他类也需要包含。程序就变得很混乱,每个类互相依赖互相调用,复用度极低。如果一个类做了修改,则依赖它的很多类都会受到牵连。为此,出现Spring框架。


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


  springMVC框架


  SpringMVC属于SpringFrameWork的后续产品,已经融合在SpringWebFlow里面。Spring框架提供了构建Web应用程序的全功能MVC模块。使用Spring可插入的MVC架构,从而在使用Spring进行WEB开发时,可以选择使用Spring的SpringMVC框架或集成其他MVC开发框架,如Struts1,Struts2等。


  它是一个典型的教科书式的mvc构架,而不像struts等都是变种或者不是完全基于mvc系统的框架,对于初学者或者想了解mvc的人来说我觉得spring是最好的,它的实现就是教科书!第二它和tapestry一样是一个纯正的servlet系统,这也是它和tapestry相比struts所具有的优势。而且框架本身有代码,看起来容易理解。DataAccessObjects(DAOs)。


  正在兴起的框架


  Jersey框架


  JerseyRESTful框架是开源的RESTful框架,实现了JAX-RS(JSR311&JSR339)规范。它扩展了JAX-RS参考实现,提供了更多的特性和工具,可以进一步地简化RESTfulservice和client开发。尽管相对年轻,它已经是一个产品级的RESTfulservice和client框架。与Struts类似,它同样可以和hibernate,spring框架整合。


  由于Struts2+hibernate+spring整合在市场的占有率太高,所以很少一部分人去关注Jersey。所以网上有关于Jersey的介绍很少。但是它确实是一个非常不错的框架。对于请求式服务,对于GET,DELETE请求,你甚至只需要给出一个URI即可完成操作。


  举个简单的例子:如果你想获得服务器数据库中的所有数据;那么你可以在浏览器或者利用Ajax的GET方法,将路径设置好;例如:localhost:8080/Student(项目名称)/studentinfo(项目服务总体前缀)/student(处理student对象的签注)/getStudentInfo(最后前缀)。这样就可以获取所有学生信息。你可以选择GET获取的数据的返回类型:JSON,XML,TEXT_HTML(String)..获取之后,你可以通过JS将这些数据塞到html或者jsp页面上。


  springboot框架


  springboot框架,被称作一栈式解决方案。比较轻量,也是当前微服务下的趋势;springboot本身就是构建与spring之上,各种思想和特性无需多说,去掉了spring繁琐的配置,简化了原有spring开发的流程,提供了各种实用的特性如metric,actuctor等等;最重要的是springboot附带了整个springcloud生态。两个框架对你解决大,中,小项目都没任何问题


  play框架


  play可能更加偏向于scala点,本身轻量性能高,随着逐步的优化易用性以及扩展性都变得越来越好;


  Vue.js框架


  严格来说这个应该不属于框架,从组建构造上来讲是和reactjs类似的构造UI组件的。从整体逻辑来讲,他要解决的是MVVM的VM这个部分,就是如何把应用程序的model和view联系起来的这个VM(viewmodel)部分。众所周知,MVC这个designpattern争议大的就是这个C的部分,所以才有各种MV*的方案提出。他使用起来确实比reactjs简单方便多了。代码也清晰。借鉴了angularjs的declarative的特点。另外文档,例子做的都很漂亮。上手比较快,这些都是很好的优点。


  jfinal框架


  JFinal是基于Java语言的极速web开发框架,其核心设计目标是开发迅速、代码量少、学习简单、功能强大、轻量级、易扩展、Restful。在拥有Java语言所有优势的同时再拥有ruby、python等动态语言的开发效率。


  框架整合


  最初是Struts+Spring+Hibernate。


  后来演变为Struts2+Spring+Hibernate。


  后来随着Spring的强大以及Struts漏洞上的等等问题,演变成为了Spring+SpringMVC+Hibernate/Mybatis互联网这块比较常见的是Mybatis。


  最近也慢慢演变为了Springboot+Mybatis。


  以上就是极悦注册机构小编介绍的“梳理目前JavaWeb主流及兴起的框架(内涵视频教程)”的内容,希望对大家有帮助,如有疑问,请在线咨询,有专业老师随时为你服务。


  视频相关


  Spring视频教程:


  MyBatis视频教程:


  Struts2视频教程:


  Hibernate视频教程:


提交申请后,顾问老师会电话与您沟通安排学习

免费课程推荐 >>
技术文档推荐 >>