REST微服务架构之DropWizard

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代码

免费资料群在图片下方

REST微服务架构之DropWizard_第1张图片
575057881

然后,定义Configuration 

Java代码

REST微服务架构之DropWizard_第2张图片
575057881

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

Java代码

REST微服务架构之DropWizard_第3张图片
575057881

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

Java代码

REST微服务架构之DropWizard_第4张图片
575057881

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

Java代码

REST微服务架构之DropWizard_第5张图片
575057881

另外配置文件如下: 

template: Hello, %s! 

defaultName: Stranger 

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

Java代码

java -jar  server   

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

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

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

你可能感兴趣的:(REST微服务架构之DropWizard)