美文网首页Java企业级框架资源招募
REST微服务架构之DropWizard

REST微服务架构之DropWizard

作者: 流浪java | 来源:发表于2018-01-24 22:15 被阅读76次

DropWizard是由Yammer开发团队贡献的一个后台服务开发框架,其集成了Java生态系统中各个问题域中最优秀的组件,帮助开发者快速的打造一个Rest风格的后台服务。 

对开发者来说,使用DropWizard有如下好处: 

1、和Maven集成良好,也就是说和Gradle集成也很良好; 

2、开发迅速,部署简单; 

3、代码结构好,可读性高; 

4、自动为服务提供OM框架; 

5、让开发者自然的把一个应用拆分为一个个的小服务 

DropWizard结构的Web服务组成

1、Configuration:用于设置该服务的配置,比方说在服务开放在哪个端口,数据库配置是怎样的等等。 

2、Service:该服务的主入口,定义该服务使用哪个配置文件,开放哪些Resource,该服务需要哪些HealthCheck等等。 

3、Resource:定义一个资源,包括如何获取该资源,对该资源做Get/Post/Delete/Query时,对应的各种业务逻辑。 

4、Representation:定义了一个服务返回值对象,当服务返回该对象时,会自动的把该对象按属性值生成一个Json格式的字符串返回给服务调用者。 

5、HealthCheck:在DropWizard为每个服务提供的OM框架中用到,通过它可以随时检测当前服务是否可用。 

DropWizard之Hello World

怎样开发一个DropWizard的Web服务呢?首先,在你的项目中引入DropWizard依赖

Gradle代码

免费资料群在图片下方

575057881

然后,定义Configuration 

Java代码

575057881

然后,定义该服务返回值的Representation: 

Java代码

575057881

然后,为该服务定义一个HeatlthCheck,这个是可选的,但是,有HealthCheck的web服务让人放心很多: 

Java代码

575057881

最后,把该服务涉及的配置,资源,HealthCheck统一整合到Service主类中: 

Java代码

575057881

另外配置文件如下: 

template: Hello, %s! 

defaultName: Stranger 

这就是一个完整的REST风格的Web服务代码,另外,DropWizard的部署也非常简单,只需要使用构建脚本把该服务打包,然后使用如下的命令即可运行服务: 

Java代码

java -jar  server   

注意:1、在打包的时候一定要把依赖库也打进去 

2、配置文件的名字一定要和Service类中设置的一样

最后,前面只是关于DropWizard的最基本的应用,DropWizard开发团队还为开发者考虑了很多贴心的功能,比方说,和Hibernate,Liquidbase的集成等等。更多更详细的信息,请移步到群:575057881

相关文章

  • REST微服务架构之DropWizard

    DropWizard是由Yammer开发团队贡献的一个后台服务开发框架,其集成了Java生态系统中各个问题域中最优...

  • dropwizard 基于consul的服务注册和发现

    dropwizard是一款轻量级微服务架构,不像spring集成了各种功能,dropwizard非常轻量,所以需要...

  • REST之前:Programmable Web

    REST架构风格的服务(或者它开放的api),属于Programmable Web。研究REST 架构风格,要从P...

  • Rest 风格

    参考:知乎理解本真的REST架构风格REST架构风格最重要的架构约束有6个: 客户-服务器(Client-Serv...

  • RESTful架构理解

    REST就是一种架构思想,目的是建立长期的,不会随着技术发展被快速淘汰的Web服务架构。REST代表具象状态传输,...

  • Restful API简介

    REST是一种架构风格,Restful指的是基于REST实现的Web服务。它基于HTTP,通过标准的HTTP方法(...

  • DropWizard入门实践

    Dropwizard是一个操作友好、开发RESTful服务的Java高性能框架,Dropwizard有自己独立的风...

  • REST API

    What 什么是REST 表述性状态转移。一种web 服务的架构风格 Who 谁发明的REST roy field...

  • django restful API

    摘要 什么是rest:REST是所有Web应用都应该遵守的架构设计指导原则rest设计有点: 1.客户端-服务端分...

  • rest是什么以及它的6个特点

    1. rest是什么? 万维网软件架构风格 用来创建网络服务 2. 为何叫rest? Representation...

网友评论

    本文标题:REST微服务架构之DropWizard

    本文链接:https://www.haomeiwen.com/subject/xoypaxtx.html