草庐IT

Spring-boot-websocket

全部标签

websocket编程实践

“无畏来源于无知,弱小和无知不是生存的障碍,傲慢才是。一个人,一旦觉得自己比别人有优越感,觉得高人一等,离倒霉就不远了。”websocketWebSocket是一种网络通信协议,用于实现客户端和服务器之间的双向通信。它基于TCP协议,类似于HTTP协议,但不同于HTTP协议的是,它可以在同一个TCP连接上进行实时的、双向的数据通信。优点:实时性:WebSocket可以在建立连接后一直保持连接,从而实现实时的双向通信。减少通信量:WebSocket采用了轻量级的数据帧,相比于HTTP协议的请求和响应报文,WebSocket通信量更小,可以更快地传输数据。支持跨域:WebSocket支持跨域通信,

Spring boot启动流程-解决循环依赖

循环依赖,指的是两个bean之间相互依赖,形成了一个循环。目前使用的spring版本中,在启动时默认关闭了循环依赖。假设代码中两个bean相互使用@Autowired注解进行自动装配,启动时会报错如下:Relyinguponcircularreferencesisdiscouragedandtheyareprohibitedbydefault.Updateyourapplicationtoremovethedependencycyclebetweenbeans.Asalastresort,itmaybepossibletobreakthecycleautomaticallybysettings

android - 如何使用 Spring for Android POST 键/值对而不是 JSON 对象?

我正在尝试使用SpringforAndroid对url执行标准HTTPPOST,其中正文只是参数列表(如键值对)而不是JSON对象。我希望将响应从JSON转换为JavaResponseObject,但据我所知,Spring也将我的正文转换为JSON。这是我的代码:Mapparams=newHashMap();params.put("client_id",mClientId);params.put("state",mState);params.put("username",mUsername);params.put("password",mPassword);returngetRestT

Spring Boot 3.2.0 Tomcat虚拟线程初体验 (部分装配解析)

写在前面springboot3已经提供了对虚拟线程的支持。虚拟线程和平台线程主要区别在于,虚拟线程在运行周期内不依赖操作系统线程:它们与硬件脱钩,因此被称为“虚拟”。这种解耦是由JVM提供的抽象层赋予的。虚拟线程的运行成本远低于平台线程。消耗的内存要少得多。这就是为什么可以创建数百万个虚拟线程而不会出现内存不足的问题,而标准平台(或内核)线程只能创建数百个。虚拟线程会优先使用JVM提供,如果不能使用JVM提供,则考虑使用由平台线程支持的“虚拟线程”,相关源代码参考java.lang.ThreadBuilders#newVirtualThread版本要求springboot3.2.0jdk21p

Spring Elasticsearch过滤术语消耗列表

我有以下索引和查询@Document(indexName="idx",type="worker")publicclassWorker{@Id@Field(type=FieldType.Long)privateLongid;@Field(type=FieldType.String)privateStringfirstName;@Field(type=FieldType.String)privateStringlastName;--getter--setter}publicinterfaceWRepoextendsElasticsearchRepository{@Query("{"query":{

Spring实现HTTPS方式访问服务(单向认证)

目录前言一、基本概念二、创建keyStore、trustStore三、服务端配置四、客户端配置总结参考链接前言本文通过Spring来配置https服务,后续会将相关的知识内容简单讲解一下,该文章主要是https单向认证,双向认证实现过程将在后续不久的另外一边文章涉及,感兴趣的小伙伴可以提前提供关注一下。在我们搭建的web服务中,如果没有去配置过https相关的配置,那么该服务只是一个普通的http服务,如果想要该服务成为一个https服务,通过https的方式访问接口的话,那么首先需要的是生成证书,公钥,私钥等相关内容,再进行https配置了,在开始实现之前,我们需要简单了解一下什么是HTTP

为何内存不够用?微服务改造启动多个Spring Boot的陷阱与解决方案

在生产环境中我们会遇到一些问题,此文主要记录并复盘一下当时项目中的实际问题及解决过程。背景简述最初系统上线后都比较正常风平浪静的。在系统运行了一段时间后,业务量上升后,生产上发现java应用内存占用过高,服务器总共64G,发现每个SpringBoot占用近12G的内存,我们项目采用微服务架构,有多个springboot应用。一下子内存就不够用了,springboot出现假死了。由于当时生产没有截图,我用本机模拟类似的情况。可以看到内存基本被使用完了,为什么Java程序会占用这么大内存呢?解决步骤step1:jps查看进程ID或通过topstep2:jmap-heap进程ID可以看到Java应用

IDEA版SSM入门到实战(Maven+MyBatis+Spring+SpringMVC) -Spring中组件扫描

第一章Spring中组件扫描1.1默认使用情况context:component-scanbase-package="com.atguigu">context:component-scan>1.2包含扫描注意:使用包含扫描之前,必须设置use-default-filters=“false”【关闭当前包及其子包的扫描】typeannotation:设置被扫描注解的全类名assignable:设置被扫描实现类的全类名context:component-scanbase-package="com.atguigu"use-default-filters="false">context:include-

Maven打包失败--Failed to execute goal org.springframework.boot:spring-boot-maven-plugin:no found...

1、问题还原,无论怎样操作,打包都是失败Failedtoexecutegoalorg.springframework.boot:spring-boot-maven-plugin:2.3.4.RELEASE:repackage(repackage)onprojectguigu-common:Executionrepackageofgoalorg.springframework.boot:spring-boot-maven-plugin:2.3.4.RELEASE:repackagefailed:Unabletofindmainclass->[Help1][ERROR] 2、这个问题,相信不少搬砖

Spring Boot学习随笔- 文件上传和下载(在线打卡、附件下载、MultipartFile)

学习视频:【编程不良人】2021年SpringBoot最新最全教程第十二章、文件上传、下载文件上传文件上传是指将文件从客户端计算机传输到服务器的过程。上传思路前端的上传页面:提交方式必须为post,enctype属性必须为multipart/form-data开发后端的Controller后端方法接收参数必须和前端标签的name名一致upload.jsp文件上传测试文件上传Controller@Controller@RequestMapping("file")publicclassFileController{privatefinalLoggerlog=LoggerFactory.getLog