学习别人的代码时看到pom中引用了spring-boot-starter-webflux,不知道是做什么用的,查了写资料整理如下:
1. 是什么?
Spring WebFlux是Spring Framework 5.0中引入的新的响应式Web框架,可以用来建立异步的、非阻塞的、事件驱动的服务。它采用Reactor作为首选的响应式流的实现库,不过也提供了对RxJava的支持。
2. SpringMVC和Spring webFlux的区别
spring-webmvc + servlet + Tomcat是命令式的、同步阻塞的,请求ServletRequest,响应ServletResponse
spring-webflux + Reactor + Netty是响应式的、异步非阻塞的,请求ServerRequest,响应ServerResponse
3. 依赖:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-webflux</artifactId>
</dependency>
<!--Reactor的测试依赖-->
<dependency>
<groupId>io.projectreactor</groupId>
<artifactId>reactor-test</artifactId>
<scope>test</scope>
</dependency>