课程咨询 :186-8884-0703
咨询QQ:1615412715

深圳Java培训 > 达内新闻 > 【深圳JAVA培训】这些Java RESTful 框架,再不知道就OUT啦!
  • 【深圳JAVA培训】这些Java RESTful 框架,再不知道就OUT啦!

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

  • 【深圳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--零基础周末班

Java--零基础周末班

开班日期:3月31日

Java--大数据全日制班

Java--大数据全日制班

开班日期:3月31日

Java--大数据周末班

Java--大数据周末班

开班日期:3月31日

Java课程训练营时间安排

Java课程训练营时间安排

开班日期:3月31日

  • 地址:深圳市宝安区共乐路西乡商会大厦10楼——深圳JAVA培训中心宝安校区
    深圳市龙岗区横岗力嘉路2013文化创客园A栋——深圳JAVA培训中心龙岗校区
  • 课程培训电话:186-8884-0703
    咨询QQ:1615412715 全国免费咨询热线:400-827-0010
  • 2001-2016 达内时代科技集团有限公司 版权所有 京ICP证8000853号-56