千家信息网

spring boot2中webflux怎么使用

发表于:2025-12-01 作者:千家信息网编辑
千家信息网最后更新 2025年12月01日,本篇内容主要讲解"spring boot2中webflux怎么使用",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"spring boot2中webflux怎
千家信息网最后更新 2025年12月01日spring boot2中webflux怎么使用

本篇内容主要讲解"spring boot2中webflux怎么使用",感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习"spring boot2中webflux怎么使用"吧!

spring 5

Spring 5 是流行的 Spring 框架的下一个重大的版本升级。Spring 5 中最重要改动是把反应式编程的思想应用到了框架的各个方面,Spring 5 的反应式编程以 Reactor 库为基础。

WebFlux

WebFlux 模块的名称是 spring-webflux,名称中的 Flux 来源于 Reactor 中的类 Flux。该模块中包含了对反应式 HTTP、服务器推送事件和 WebSocket 的客户端和服务器端的支持。对于开发人员来说,比较重要的是服务器端的开发,

在服务器端,WebFlux 支持两种不同的编程模型:第一种是 Spring MVC 中使用的基于 Java 注解的方式;第二种是基于 Java 8 的 lambda 表达式的函数式编程模型。这两种编程模型只是在代码编写方式上存在不同。它们运行在同样的反应式底层架构之上,因此在运行时是相同的。WebFlux 需要底层提供运行时的支持,WebFlux 可以运行在支持 Servlet 3.1 非阻塞 IO API 的 Servlet 容器上,或是其他异步运行时环境,如 Netty 和 Undertow。

示例

新建工程

加入webflux依赖:

      org.springframework.boot      spring-boot-starter-webflux    

新建类BasicController,加入如下代码:

/** * @author zhangfeng * */@RestControllerpublic class BasicController {    @GetMapping("/hello_world")    public Mono sayHelloWorld() {        return Mono.just("Hello World");    }}

BasicController 是 REST API 的控制器,通过@RestController 注解来声明。在 BasicController 中声明了一个 URI 为/hello_world 的映射。其对应的方法 sayHelloWorld()的返回值是 Mono类型,其中包含的字符串"Hello World"会作为 HTTP 的响应内容。

测试

启动应用:

.   ____          _            __ _ _ /\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/  ___)| |_)| | | | | || (_| |  ) ) ) )  '  |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot ::        (v2.0.1.RELEASE)2018-04-16 17:32:36.993  INFO 10492 --- [           main] com.cloud.skyme.Websocket1Application    : Starting Websocket1Application on DESKTOP-E3I9LR5 with PID 10492 (C:\java\workspace\weixin\websocket-1\target\classes started by zhangfeng in C:\java\workspace\weixin\websocket-1)2018-04-16 17:32:37.006  INFO 10492 --- [           main] com.cloud.skyme.Websocket1Application    : No active profile set, falling back to default profiles: default2018-04-16 17:32:37.089  INFO 10492 --- [           main] onfigReactiveWebServerApplicationContext : Refreshing org.springframework.boot.web.reactive.context.AnnotationConfigReactiveWebServerApplicationContext@7a52f2a2: startup date [Mon Apr 16 17:32:37 CST 2018]; root of context hierarchy2018-04-16 17:32:38.609  INFO 10492 --- [           main] s.w.r.r.m.a.RequestMappingHandlerMapping : Mapped "{[/hello_world],methods=[GET]}" onto public reactor.core.publisher.Mono com.cloud.skyme.BasicController.sayHelloWorld()2018-04-16 17:32:38.704  INFO 10492 --- [           main] o.s.w.r.handler.SimpleUrlHandlerMapping  : Mapped URL path [/webjars/**] onto handler of type [class org.springframework.web.reactive.resource.ResourceWebHandler]2018-04-16 17:32:38.704  INFO 10492 --- [           main] o.s.w.r.handler.SimpleUrlHandlerMapping  : Mapped URL path [/**] onto handler of type [class org.springframework.web.reactive.resource.ResourceWebHandler]2018-04-16 17:32:38.885  INFO 10492 --- [           main] o.s.w.r.r.m.a.ControllerMethodResolver   : Looking for @ControllerAdvice: org.springframework.boot.web.reactive.context.AnnotationConfigReactiveWebServerApplicationContext@7a52f2a2: startup date [Mon Apr 16 17:32:37 CST 2018]; root of context hierarchy2018-04-16 17:32:39.382  INFO 10492 --- [           main] o.s.j.e.a.AnnotationMBeanExporter        : Registering beans for JMX exposure on startup2018-04-16 17:32:40.184  INFO 10492 --- [ctor-http-nio-1] r.ipc.netty.tcp.BlockingNettyContext     : Started HttpServer on /0:0:0:0:0:0:0:0:80802018-04-16 17:32:40.184  INFO 10492 --- [           main] o.s.b.web.embedded.netty.NettyWebServer  : Netty started on port(s): 80802018-04-16 17:32:40.191  INFO 10492 --- [           main] com.cloud.skyme.Websocket1Application    : Started Websocket1Application in 3.672 seconds (JVM running for 4.772)2018-04-16 17:32:54.559  WARN 10492 --- [ctor-http-nio-2] .a.w.r.e.DefaultErrorWebExceptionHandler : Failed to handle request [GET http://localhost:8080/helloworld]: Response status 4042018-04-16 17:32:54.693  WARN 10492 --- [ctor-http-nio-2] .a.w.r.e.DefaultErrorWebExceptionHandler : Failed to handle request [GET http://localhost:8080/favicon.ico]: Response status 404

打开浏览器输入 http://localhost:8080/hello_world 可以看到返回结果。

到此,相信大家对"spring boot2中webflux怎么使用"有了更深的了解,不妨来实际操作一番吧!这里是网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

编程 运行 反应式 服务器 反应 支持 服务 内容 模型 不同 重要 代码 名称 底层 方式 方法 框架 模块 注解 端的 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 飞搜科技移动互联网 斗罗大陆服务器怎么找 恋舞一直显示与服务器断开 百度九一网络技术福州有限公司 徐州百度霸屏百度推广软件开发 软件开发 期货 怎么给数据库表增加列数据库 笔记本的软件开发怎么样 服务器出现了问题什么办 同花顺股票软件服务器 二维码服务器数据库 源城软件开发定制 服务器操作系统名称 区人大网络安全工作责任制 青岛网络软件开发公司电话 常用服务器的固定端口是什么 网络技术对人交往模式 攀枝花互联网科技公司有几家 vfp中数据库表取值命令 二手服务器内存条多少钱 win7关闭音频管理服务器 破除网络安全密钥 20人设计公司适合做什么服务器 泰拉瑞亚手机版怎么查看自己的服务器ip 徐州百度霸屏百度推广软件开发 做网络安全的杂志 sdi同步网络技术 安徽智趣网络技术有限公司 软件开发公司如何办理营业执照 t6数据库补丁
0