响应式编程与应用测试全解析
1. 何时采用响应式编程
响应式编程,特别是专注于响应式流的应用程序,能够实现系统级的扩展,这在当前很难通过其他方式实现。不过,并非所有应用都需要极致的端到端可扩展性,有些应用在可预测的负载下已经表现出色。命令式应用长期以来满足了全球企业的生产需求,不会因为新选择的出现而被完全取代。
Spring团队明确表示,在可预见的未来,响应式代码不会完全取代命令式代码。对于大型团队而言,转向非阻塞、函数式和声明式编程的学习曲线较陡。一种可行的做法是先使用响应式WebClient,从小规模开始并衡量其好处。对于很多应用来说,这种转变并非必要。若不确定响应式编程的好处,可以先了解非阻塞I/O的工作原理及其影响。
总之,采用响应式编程和Spring WebFlux是一种选择,它可能是满足特定需求的最佳方式,但需根据系统的相关要求和需求仔细考虑。无论是否采用响应式编程,Spring Boot都能为开发关键业务软件提供出色的选项。
2. 响应式应用测试准备
为了更好地聚焦于响应式Spring Boot应用测试的关键概念,我们需要对现有代码进行重构。以Aircraft Positions应用中的PositionController类为例,该类的代码虽然能正常工作,但在测试方面存在一些混乱。
首先,将创建RSocketRequester对象的代码移到一个@Configuration类中,使其成为Spring bean,可在应用的任何地方访问:
import org.springframework.context.annotation.B
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



