SOA专题---Dropwizard与Spring Boot比较

本文探讨了Java轻量级框架Dropwizard与SpringBoot的相似性和差异性,包括依赖、HTTP服务器、日志、依赖注入及测试等方面。如果你偏好轻量级框架,Dropwizard是个好选择;如果熟悉Spring生态,则SpringBoot更为适合。

 

 在这篇文章中我们将讨论的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服务专题

 

 

http://www.jdon.com/soa/dropwizard-vs-spring-boot.html

 

### Spring Boot Starter Web ServicesSpring Boot Starter Web的区别 #### 功能定位差异 `spring-boot-starter-web-services` 主要用于构建基于SOAP协议的Web服务应用,专注于提供支持JAX-WS标准的服务端实现[^1]。而 `spring-boot-starter-web` 则更侧重于RESTful风格的应用开发,它集成了Spring MVC框架来简化HTTP请求处理逻辑。 #### 技术栈区别 对于想要创建传统的面向服务架构(SOA)中的Web Service来说,会选择使用 `spring-boot-starter-web-services` ,因为其内部包含了必要的库文件如CXF或Spring WS等,这些工具能够帮助开发者快速搭建起符合WSDL描述的服务接口。 相反地,当目标是建立现代轻量级API网关或是微服务之间的通信机制时,则更适合采用 `spring-boot-starter-web` 。该模块默认配置了一个嵌入式的Servlet容器(比如Tomcat),并提供了丰富的特性集合,包括但不限于JSON序列化/反序列化、异常映射以及跨域资源共享(CORS)[^2]。 #### 使用场景举例 假设有一个项目需求是要对接银行系统的转账功能,通常这类金融服务会遵循严格的行业标准,因此可能需要用到 `spring-boot-starter-web-services` 来确保兼容性和安全性;而对于一个社交平台上的点赞评论等功能,则完全可以利用 `spring-boot-starter-web` 提供的强大路由管理和数据绑定能力来进行高效开发[^3]。 ```xml <!-- Example of using spring-boot-starter-web --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <!-- Example of using spring-boot-starter-web-services --> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web-services</artifactId> </dependency> ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值