共计 3466 个字符,预计需要花费 9 分钟才能阅读完成。
转载自: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。