深圳Java培训
达内深圳宝安中心

136-3244-2201

热门课程

【深圳JAVA培训】这些Java RESTful 框架,再不知道就OUT啦!

  • 时间:2015-12-03
  • 发布:深圳Java培训
  • 来源:达内新闻

【深圳JAVA培训】这些Java RESTful 框架,再不知道就OUT啦!

1.Dropwizard

Dropwizard 提供了稳定成熟的Java库, 并封装成一个简单的轻量级的包。

Dropwizard 介于框架和库之间。它提供了一个开发web应用程序的全部所需。由于内置模块化,一个应用程序可以保持小而精干的特点,减少开发和维护的时间,减少负担。

Dropwizard 使用已有的 Jetty HTTP 库,嵌入到你的项目中,无需外部的server。所有的Dropwizard项目都有一个 main 方法来管理内建的 HTTP server.

优点

快速的项目构建和启动

模块化

不可思议的快(至少根据内建的 metric 测得的结果)

Jetty for HTTP, Jersey for REST, 以及 Jackson for JSON

也支持其它的库, 比如 Mustache, Logback, JDBI, Hibernate Validator, Guava, …

使用Metrics支持监控

Main方法启动 Jetty server,可以容易地调试和维护

社区力度强

缺点

Dropwizard文档是主要的知识来源,但谈不上优秀。你可能需要搜索和发掘第三方类库的文档。

因为某些原因错误被当作普通文本, 如果你希望响应结果总是JSON,这可能有问题

确保使用最新的Dropwizard, 一些老版本使用了废弃的第三方库。 而且早期的Dropwizzard也很难升级

2.Jersey

Jersey RESTful 框架是开源的RESTful框架, 实现了JAX-RS (JSR 311 & JSR 339) 规范。它扩展了JAX-RS 参考实现, 提供了更多的特性和工具, 可以进一步地简化 RESTful service 和 client 开发。尽管相对年轻,它已经是一个产品级的 RESTful service 和 client 框架。

优点

优秀的文档和例子

快速

超级容易的路由

平滑的 JUnit 集成

就个人而言, 当开发 RESTful service 时, JAX-RS 实现要好于 MVC 框架。

可以集成到其它库/框架 (Grizzly, Netty). 这也可能是很多产品使用它的原因。

支持异步链接

不喜欢 servlet container? 使用Jersey的时候可以不用它们。

WADL, XML/JSON support

包含在Glassfish中

缺点

Jersey 2.0+使用了有些复杂的依赖注入实现

可能不是一件坏事。Jersey 1.X 使用较老的 JAX-RS 实现

一大堆第三方库只支持 Jersey 1.X, 在 Jersey 2.X 不可用

【深圳JAVA培训】这些Java RESTful 框架,再不知道就OUT啦!

3.Ninja Web Framework

Ninja Web Framework是全栈的 java web framework。稳定, 快速, 可靠, 产品级.

它提供了开发,测试,发布,维护 RESTful web应用的一切(Servlets, Guice, JPA, Flyway migrations, Maven, etc.).

就像 DropWizzard, Ninja Web Framework 是一个集成的软件栈。你不必建立你自己的,只需使用 Maven archetype生成一个新的项目,导入到IDE中就可以开始编码了。

优点

快速的项目构建和启动

模块化

XML, HTML, JSON渲染

也支持其它的库 (如 Guice, Logback, Guava, etc.)

很好的数据持久化和缓存

不喜欢 servlet container? U可以选择你喜欢的容器

如果根本就不喜欢容器,可以使用 standalone 模式, 使用Jetty作为一个自执行的jar

缺点

同样,就像DropWizzard, 文档有但是不够好。我花了好长时间去了解它。这个框架也依赖很多其它的库,有时候想得到所需的信息很麻烦。

不怎么出名,社区小。 有谣言说这个框架是由那些切换到Scala的 Play 2.X 用户创建的

4.Play Framework

使用Play Framework 很容易地创建,构建和发布 web 应用程序,支持 Java & Scala。它使用Akka, 基于一个轻量级的无状态的架构。它应该应用于大规模地低CPU和内存消耗的应用。

链接

官方站点 GITHUB 文档

优点

易于开发

快,但是没有其它的一些框架快

基于 Netty, 支持非阻塞的 I/O. 并行处理远程调用的时候很优秀

社区很大

快速的项目构建和启动

模块化

MVC

REST, JSON/XML, Web Sockets, non-blocking I/O

只需刷新浏览器就可以看到最新的改变

缺点

版本2.0 是最有争议的Java框架。 切换至Switch to Scala made some Java developers outraged.

不向后兼容; Play 2.X 重写了

号称轻量级,但有些臃肿

SBT构建工具. 号称 Maven 杀手, 但是从没有优秀到替换它。难以学习和配置

【深圳JAVA培训】这些Java RESTful 框架,再不知道就OUT啦!

5.Restlet

Restlet 帮助Java建立大规模的快速的符合 RESTful 架构模式的web api。

它提供了强大的路由和 filtering 系统。统一的client/server Java API. 满足所有主要的平台 (Java SE/EE, Google AppEngine, OSGi, GWT, Android) 以及提供了无数的扩展以满足程序员的需求。

据我说知,它是第一个 java RESTful web 框架。很多公司都在用它,但是你可能从未听说过它,好像它已经不可见了。

优点

强大

企业级的框架

多平台 Java SE, Java EE, Google Web Toolkit, Google AppEngine, Android, OSGi environments

支持JAX-RS (就像 Jersey)

大部分高级 RESTful 支持

模块化

支持其它库

开发一直活跃

智能的url绑定, 全功能的 URI 路由

有相关的书籍

缺点

非常陡峭的学习曲线

关闭的社区,尽管 StackOverflow 上还是开放的

不再流行,更多的是因为 Play Framework 和 Jersey

更多内容请点击【深圳JAVA培训】

【深圳JAVA培训】这些Java RESTful 框架,再不知道就OUT啦!

上一篇:【深圳JAVA培训】Java 开源博客 Solo 1.2.0 发布
下一篇:【深圳JAVA培训】Java 8 Stream API和RxJava之间的主要差异是在哪呢?

预计发布的Java 9中,很令人期待的是什么?

【深圳JAVA培训】世界十类很急需IT人才

JAVA——很吃香的编程语言

为什么程序员是很有钱的一批人?

选择城市和中心
贵州省

广西省

海南省