Dropwizard简称DW,根据官网的定义:
- Dropwizard是一款开发运维友好、高效、RESTful web服务的框架。
- Dropwizard将稳定、成熟的java生态系统中的库整合为一个简单的、轻量级的包,即跨越了库和框架之间的界限,使得我们可以更关注于业务本身。
- Dropwizard内置支持了复杂的配置、应用指标、日志、操作工具等等,使得团队在尽可能短的时间内构建生产就绪的web服务,为应用程序所需的一切性能提供了可靠的视线,为项目的上线和维护减轻了负担。
Overview
Dropwizard跨越了一个库和框架之间的界限。他的目标是提供一个生产就绪的web应用程序所需的一切性能可靠的实现。那么这句话可能有些绕,我个人理解就是他能免去我们部署web应用的很多步骤。由于这个功能被提取到可以重复使用的库中,我们的应用程序保持很大程度的精简和集中,这样可以减少我们程序的上线时间和维护负担。
Jetty for HTTP
由于Web应用不可能缺少HTTP,DW使用Jetty Http库将一个非常棒的HTTP服务器嵌入到我们的项目中。DW不是将你的程序提交到复杂的服务器上,DW上有个main方法来启动我们的服务器,DW是将我们的应用作为一个简单的线程来跑,消去了Java生产环境中一些非常复杂令人讨厌的过程,并且允许我们使用所有现有的Unix进程管理工具。
Jersey for REST
为了定义Restful的web应用,我们发现在性能和特性方面没有什么能比得过Jersey。它允许你编写干净的,可以测试的类,这个类可以优雅的将http请求映射成为简单的java对象。它支持流输出,矩阵URL参数,条件GET请求,还有更多。
Jackson for JSON
在数据格式方面,JSON已经成为了网络的通用语,Jackson在jvm中就是Json的龙头老大。除了像闪电一样快速,他有一个复杂的对象映射,允许你直接导出你的域模型。
Metrics for metrics
Metrics库对事物进行舍入,在你的生产环境中,为你提供独一无二的洞察力。
And Friends
-
Guava
,除了高度优化不可变的数据结构,也提供了越来越多的类,加速了Java开发. -
Logback
、slf4j
,高性能、灵活的日志框架. -
Hibernate Validator
,JSR 349
的相关实现,验证用户输入,产生有用的国际化友好的错误信息,是一种声明性框架. -
Apache HttpClient
、Jersey
,与其他web服务进行低级别、高级别的交互. -
JDBI
,操作数据库相关. -
Liquibase
,数据库开发的持续集成. -
Freemarker
、Mustache
, 面向用户的应用程序的简单模版引擎. -
Joda Time
,比较全面的处理时间日期的库.
Next for HelloWord
下一章节实现下Dropwizard的HelloWorld,初次见识下Dropwizard的魅力。