一 Dropwizard是什么?
Dropwizard是一个跨越了库和框架的界限,他的目标是提供一个生产就绪的web应用程序所需的一切性能可靠的实现。
(一)它主要包含以下组件:
1、Jetty for HTTP
将Jetty的http库嵌入到项目中,不需要将我们的服务提交到复杂的服务器上。只需要一个main方法就可以启动服务。
2、Jersey for REST
使用Jersey来支持ResJul风格的web应用的。它允许你编写干净的,可以测试的类,这个类可以优雅的将http请求映射成为简单的Java对象
3、Jackson for JSON
主要使用Jackson进行JSON和Java对象转换,方便快速。
4、Metrics for metrics
在生产环境中,Metrics为你提供独一无二的洞察力,也就是说这个是用来监控Java进程的运行状态的
5、其他•
Logback,slf4j:日志类的库•
Jdbi:连接关系型数据库的工具类。
•JodaTime:时间处理工具类•
Freemarker and Mustache:用户界面模版•
Httpclient,JerseyClient:第三方接口通讯工具类。
(二)dropwizard优势:
1、更轻量,不依赖外部的容器环境。
2、部署简单,快速
3、约定优于配置的思想,省却了一些配置上的麻烦
4、代码结构良好,可读性强
5、快速的项目引导
二 dropwizard使用步骤
使用dropwizard搭建服务的步骤:
1、创建maven工程
2、创建配置类
3、创建应用类
4、创建资源类
5、注册资源类
6、build工程
7、运行Jar
三 demo实例
1 创建maven工程,pom引用dropwizard dependency
pom:
<dependency>
<groupId>io.dropwizard</groupId>
<artifactId>dropwizard-core</artifactId>
<version>1.2.0-rc1</version>
</dependency>
编译配置:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>2.3</version>
<configuration> <createDependencyReducedPom>true</createDependencyReducedPom>
<filters>
<filter>
<artifact>*:*</artifact>
<excludes>
<exclude>META-INF/*.SF</exclude>
<exclude>META-INF/*.DSA</exclude>
<exclude>META-INF/*.RSA</exclude>
</excludes>