草庐IT

BOOT_PATH

全部标签

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

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

Gradle问题解决 Unable to make field private final java.lang.String java.io.File.path accessible: module

下载最新的AndroidStudio(2023.12)版本如下运行后错误如下Unabletomakefieldprivatefinaljava.lang.Stringjava.io.File.pathaccessible:modulejava.basedoesnot"opensjava.io"tounnamedmodule@1130dfcd百度google一圈发现没有什么线索,然后咨询gpt4得结果如下:如果您在AndroidStudio中打开一个GitHub上的项目并遇到了“Unabletomakefieldprivatefinaljava.lang.Stringjava.io.File.p

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

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

cmd打开时提示“系统找不到指定的路径”“the system cannot find the path specified”

解决方法:问题1:环境变量用户环境变量path和系统环境变量path中存在无效路径解决方法:将环境变量用户环境变量path和系统环境变量path中的无效路径删除。具体操作过程:(1)在powshell中运行脚本检查path中的每一条路径,@($env:path-split";").ForEach({if($_){$result='MISSING|';if(Test-Path-path$_){$result='OK|'};-join($result,'',$_);}})(2)删除无效路径。问题2:在应用卸载时,残留的自动运行脚本在应用原本所在地址找不到应用解决方法:1.运气好的话:首先reged

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

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

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

基于Spring Boot,一步步教你用Websockets和STOMP进行消息推送

1引言推送通知是一种实时消息传递形式,通过它网站可以向用户实时通知特定事件。通常使用WebSockets实现推送通知,这种技术提供了客户端和服务器之间的双向通信,从而实现了实时消息的处理。本文使用WebSockets来实现推送通知,并使用STOMP协议在客户端和服务器之间进行通信。2什么是STOMPSTOMP代表简单文本导向的消息协议(SimpleTextOrientedMessagingProtocol)。由于WebSockets是一种低级协议,使用帧(frames)来传输数据,而STOMP是一种高级协议,定义了如何解释某些帧类型中的数据。这些帧类型包括CONNECT、SEND、ACK等。因

基于Spring Boot,一步步教你用Websockets和STOMP进行消息推送

1.引言推送通知是一种实时消息传递形式,通过它网站可以向用户实时通知特定事件。通常使用WebSockets实现推送通知,这种技术提供了客户端和服务器之间的双向通信,从而实现了实时消息的处理。本文使用WebSockets来实现推送通知,并使用STOMP协议在客户端和服务器之间进行通信。2.什么是STOMPSTOMP代表简单文本导向的消息协议(SimpleTextOrientedMessagingProtocol)。由于WebSockets是一种低级协议,使用帧(frames)来传输数据,而STOMP是一种高级协议,定义了如何解释某些帧类型中的数据。这些帧类型包括CONNECT、SEND、ACK等

搭建Spring Boot 项目

搭建SpringBoot项目详细介绍搭建完整的SpringBoot项目使用mybatis-plus链接数据库通过swagger生成接口文档测试接口文章目录搭建SpringBoot项目一、创建Maven项目二、Maven依赖SpringBoot1.选择依赖和版本2.启动测试HelloWorld!三、完善的SpringBoot项目1、添加pom依赖2、在resources创建application.yml配置文件3、修改启动类4、建库建表生成model5、实现controller6、实现service7、实现mapper8、启动测试一、创建Maven项目1.点击NewProject2.选择Mave