首先,這是一個(gè)選擇自由和速度需要,無論你在Dropwizard和Spring Boot選擇哪個(gè),這兩個(gè)框架自身都顯得有點(diǎn)固執(zhí)己見,他們都堅(jiān)信約定優(yōu)于配置,那么是如何固執(zhí)呢?你會(huì)發(fā)現(xiàn),在我們進(jìn)行比較以后,它們每個(gè)都混入了第三方庫(kù)包,大部分并不是核心功能需要而是出于集成需要。這種犧牲的好處是獲得好的性能。下面圖中使用白色顯示依賴包。

Spring的依賴
Spring Boot聚焦于Spring應(yīng)用,如果你希望進(jìn)入Spring生態(tài)環(huán)境,或者已經(jīng)熟悉它,希望有一個(gè)快速起步,那么選擇它是好的選擇,而DropWizard是將其REST和Jersey結(jié)合在一起,它幫助你離開對(duì)Spring的依賴。
Http服務(wù)器
這里我們看到Spring Boot更加靈活,Dropwizard以約定優(yōu)于配置,比Spring Boot更極端點(diǎn),完全是基于Jetty,而Spring Boot默認(rèn)使用嵌入的Tomcat,其他也可以選擇。
日志
Dropwizard 從log4j切換到LogBack,而Spring boot提供 Logback, log4j 和 log4j2選擇,LogBack是一個(gè)更好的Log4j,性能要比log4j提高,不過要注意不同的方法使用性能不同。
依賴注入
兩個(gè)框架主要區(qū)別是依賴注入的不同,Spring核心有依賴注入,而DropWizard需要你選擇,這也帶來了靈活性,有Google Guice或更新更好的依賴注入框架可供選擇。
測(cè)試
兩個(gè)框架都有 dropwizard-testing 和 spring-boot-starter-test,支持。
Dropwizard metrics能讓你將它加入任何項(xiàng)目,甚至和Spring Boot的 metrics使用在一起,保證你的代碼的生產(chǎn)性。
最后,兩者都有很強(qiáng)很大的社區(qū)支持。如果你更喜歡輕量,無疑Dropwizard勝出,如果你已經(jīng)有Spring經(jīng)驗(yàn),無疑使用Spring Boot。