SOA专题

Dropwizard与Spring Boot比较

  在这篇文章中我们将讨论的Java轻量级框架Dropwizard和Spring Boot的相似性和差异。

首先,这是一个选择自由和速度需要,无论你在Dropwizard和Spring Boot选择哪个,这两个框架自身都显得有点固执己见,他们都坚信约定优于配置,那么是如何固执呢?你会发现,在我们进行比较以后,它们每个都混入了第三方库包,大部分并不是核心功能需要而是出于集成需要。这种牺牲的好处是获得好的性能。下面图中使用白色显示依赖包。

dropwizard vs. spring boot

 

Spring的依赖

Spring Boot聚焦于Spring应用,如果你希望进入Spring生态环境,或者已经熟悉它,希望有一个快速起步,那么选择它是好的选择,而DropWizard是将其REST和Jersey结合在一起,它帮助你离开对Spring的依赖。

Http服务器

这里我们看到Spring Boot更加灵活,Dropwizard以约定优于配置,比Spring Boot更极端点,完全是基于Jetty,而Spring Boot默认使用嵌入的Tomcat,其他也可以选择。

日志

Dropwizard 从log4j切换到LogBack,而Spring boot提供 Logback, log4j 和 log4j2选择,LogBack是一个更好的Log4j,性能要比log4j提高,不过要注意不同的方法使用性能不同

依赖注入

两个框架主要区别是依赖注入的不同,Spring核心有依赖注入,而DropWizard需要你选择,这也带来了灵活性,有Google Guice或更新更好的依赖注入框架可供选择。

测试

两个框架都有 dropwizard-testing 和 spring-boot-starter-test,支持。

 Dropwizard metrics能让你将它加入任何项目,甚至和Spring Boot的 metrics使用在一起,保证你的代码的生产性。

最后,两者都有很强很大的社区支持。如果你更喜欢轻量,无疑Dropwizard胜出,如果你已经有Spring经验,无疑使用Spring Boot。

 

Dropwizard: 开发轻量RESTful服务

六个强大的创建RESTful服务的Java框架

RESTful服务专题