转载自:https://blog.csdn.net/kingsco... (2017-12-18)
理解什么是框架

成熟的框架介绍

Hibernate 框架

Hibernate 是一种ORM框架,全称为 Object-Relative Database-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年这个我的项目由apache software foundation 迁徙到了google code,并且改名为MyBatis 。2013年11月迁徙到Github。
iBATIS一词来源于“internet”和“abatis”的组合,是一个基于Java的长久层框架。iBATIS提供的长久层框架包含SQL Maps和Data Access Objects(DAOs)。

Spring 框架

调用者依赖被调用者,它们之间造成了强耦合,如果我想在其余中央复用某个类,则这个类依赖的其余类也须要蕴含。程序就变得很凌乱,每个类相互依赖相互调用,复用度极低。如果一个类做了批改,则依赖它的很多类都会受到牵连。为此,呈现Spring框架。
Spring的作用就是齐全解耦类之间的依赖关系,一个类如果要依赖什么,那就是一个接口。至于如何实现这个接口,这都不重要了。只有拿到一个实现了这个接口的类,就能够轻松的通过xml配置文件把实现类注射到调用接口的那个类里。所有类之间的这种依赖关系就齐全通过配置文件的形式代替了。所以Spring框架最外围的就是所谓的依赖注射和管制反转。

spring MVC 框架

Spring MVC属于SpringFrameWork的后续产品,曾经交融在Spring Web Flow外面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。应用 Spring 可插入的 MVC 架构,从而在应用Spring进行WEB开发时,能够抉择应用Spring的SpringMVC框架或集成其余MVC开发框架,如Struts1,Struts2等。
它是一个典型的教科书式的mvc构架,而不像struts等都是变种或者不是齐全基于mvc零碎的框架,对于初学者或者想理解mvc的人来说我感觉 spring是最好的,它的实现就是教科书!第二它和tapestry一样是一个纯正的servlet零碎,这也是它和tapestry相比 struts所具备的劣势。而且框架自身有代码,看起来容易了解。Data Access Objects(DAOs)。

正在衰亡的框架

Jersey 框架

Jersey RESTful 框架是开源的RESTful框架, 实现了JAX-RS (JSR 311 & JSR 339) 标准。它扩大了JAX-RS 参考实现, 提供了更多的个性和工具, 能够进一步地简化 RESTful service 和 client 开发。只管绝对年老,它曾经是一个产品级的 RESTful service 和 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(view model) 局部。家喻户晓, MVC这个design pattern争议大的就是这个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。