草庐IT

spring-webflux

全部标签

【Spring MVC篇】返回响应

个人主页:兜里有颗棉花糖欢迎点赞👍收藏✨留言✉加关注💓本文由兜里有颗棉花糖原创收录于专栏【SpringMVC】本专栏旨在分享学习SpringMVC的一点学习心得,欢迎大家在评论区交流讨论💌目录一、返回静态页面二、返回数据(@ResponseBody)三、返回html片段四、返回JSON五、设置状态码一、返回静态页面前端代码:DOCTYPEhtml>htmllang="en">head>metacharset="UTF-8">metaname="viewport"content="width=device-width,initial-scale=1.0">title>首页title>head>b

用Spring Boot 3.2虚拟线程搭建静态文件服务器有多快?

之前分享过好几篇关于Java21和SpringBoot3.2中涉及虚拟线程的文章。也分享了 SpringBoot2.x到3.2的全面升级指南 。相信很多开发者跟我一样,对于Java21和SpringBoot3.2的核心升级需求就是利用虚拟线程来无缝提升程序性能。那么它到底能在哪些场景下有效呢?又能提升多少呢?昨天刚好看到一篇关于利用SpringBoot3.2的虚拟线程来做静态文件服务器的性能测试,这里分享出来,给大家一些参考。以下是正文内容:SpringBoot3.2于2023年11月大张旗鼓地发布,标志着Java开发领域的一个关键时刻。这一突破性的版本引入了一系列革命性的功能,包括:虚拟线程

【Spring】Spring事务和事务传播机制

文章目录什么是事务事务的操作Spring中事务的实现Spring编程式事务Spring声明式事务@Transactional@Transactional作用@Transactional详解rollbackFor事务隔离级别Spring事务隔离级别Spring事务传播机制什么是事务事务(Transaction)是一个程序中一系列严密的操作,所有操作执行必须成功完成,否则在每个操作所做的更改将会被撤销,这也是事务的原子性(要么成功,要么失败)。在计算机术语中,事务通常是指访问并可能更新数据库中各种数据项的一个程序执行单元(unit)。事务通常由高级数据库操纵语言或编程语言(如SQL、C++、Jav

WebSocket 通信流程,注解和Spring实现WebSocket ,实战多人聊天室系统

一、前言实现即时通信常见的有四种方式-分别是:轮询、长轮询(comet)、长连接(SSE)、WebSocket。①短轮询很多网站为了实现推送技术,所用的技术都是轮询。轮询是在特定的的时间间隔(如每1秒),由客户端浏览器对服务器发出HTTP请求,然后由服务器返回最新的数据给客户端的浏览器。优点:后端编码比较简单缺点:这种传统的模式带来很明显的缺点,由于HTTP请求是单向的,是只能由客户端发起请求,由服务端响应的【请求-响应模式】,即客户端的浏览器需要不断的向服务器发出请求,然而HTTP请求可能包含较长的头部,其中真正有效的数据可能只是很小的一部分,显然这样会浪费很多的带宽等资源。​短轮询②长轮询

【Spring MVC篇】参数的传递及json数据传参

个人主页:兜里有颗棉花糖欢迎点赞👍收藏✨留言✉加关注💓本文由兜里有颗棉花糖原创收录于专栏【SpringMVC】本专栏旨在分享学习SpringMVC的一点学习心得,欢迎大家在评论区交流讨论💌目录一、普通参数的传递后端参数重命名二、POJO参数的传递三、数组参数的传递四、集合参数的传递五、json数据传参(重点)一、普通参数的传递举栗:后端参数重命名举栗子1:传递的参数必须和RequestParam注解修饰的参数相同,将这个参数称之为必传参数。可以使用required=false将RequestParam注解修饰的参数设置为非必传参数。二、POJO参数的传递三、数组参数的传递请求中,同一个参数有多

【Spring MVC篇】Cookie和Session的获取 & Header的获取

个人主页:兜里有颗棉花糖欢迎点赞👍收藏✨留言✉加关注💓本文由兜里有颗棉花糖原创收录于专栏【SpringMVC】本专栏旨在分享学习SpringMVC的一点学习心得,欢迎大家在评论区交流讨论💌Cookie是客户端保存用户信息的一种机制,Session服务器段保存用户信息的一种机制。Cookie和Session之间主要是通过SessionId关联起来的。目录一、获取Cookie方式①方式②二、获取Session方式①存储Session方式②方式③三、获取Header方式②一、获取Cookie方式①获取Cookie代码如下(使用ServletAPI的方式):@RequestMapping("/getC

记一次Spring for Kotlin中JacksonConfig配置Long转String失败

目录起因真相解决方案起因众所周知,浏览器在处理Long类型(比如雪花算法生成的id)时,往往会出大事情。浏览器在处理长整型(Long)类型时可能会遇到问题,主要原因是浏览器在处理数字时有限制。一般来说,浏览器的JavaScript引擎使用64位浮点数来表示数字。然而,JavaScript的Number类型只能安全地表示-253到253之间的整数。当超过这个范围时,会有精度丢失的问题。例如,如果使用雪花算法生成的长整型id超过了JavaScriptNumber类型的范围,就会出现问题。雪花算法生成的id是一个非常大的数字,如果直接在浏览器中处理,可能会导致精度丢失或溢出。此外,浏览器在处理长整型

Spring Cloud - 手写 Gateway 源码,实现自定义局部 FilterFactory

目录一、FilterFactory分析1.1、前置知识1.2、分析源码1.2.1、整体分析1.2.2、源码分析1.3、手写源码1.3.1、基础框架1.3.2、实现自定义局部过滤器1.3.3、加参数的自定义局部过滤器器一、FilterFactory分析1.1、前置知识前面的学习我们知道,GatewayFilter是网关中提供的一种过滤器,可以对进入网关的请求和微服务返回的响应做处理,同时,springcloud也提供了一些内置的filter.比如:StripPrefix,表示给请求的url中去表指定的n个前缀路由,例如-StripPrefix=2那么如果你原本的请求是路由是/user/list/

Spring Native 解放 JVM

一、SpringNative是什么SpringNative可以通过GraalVM将Spring应用程序编译成原生镜像,提供了一种新的方式来部署Spring应用。与Java虚拟机相比,原生镜像可以在许多场景下降低工作负载,包括微服务,函数式服务,非常适合容器和Kubernetes。使用原生镜像有明显优势,如快速启动,提高峰值性能以及降低内存消耗。SpringNative支持Java和Kotlin。这个项目的目标是寻找SpringJVM的替代方案,提供一个能将应用程序打包,并运行在轻量级容器的方案。期望能够在SpringNative中支持所有的Spring应用程序(几乎不用修改代码)。原生(本地)

Spring Boot3自定义异常及全局异常捕获

 ⛰️个人主页:   蒾酒🔥系列专栏:《springboot实战》🌊山高路远,行路漫漫,终有归途。目录前置条件目的主要步骤定义自定义异常类创建全局异常处理器手动抛出自定义异常前置条件已经初始化好一个springboot项目且版本为3X,项目可正常启动。作者版本为3.2.2初始化教程:新版idea(2023)创建springboot3项目-CSDN博客https://blog.csdn.net/qq_62262918/article/details/135785412?spm=1001.2014.3001.5501目的SpringBoot应用程序开发中,会遇到各种异常有可预知的也有不可预知的,我