# spring-cloud-learn-springboot3 **Repository Path**: taffywen/spring-cloud-learning ## Basic Information - **Project Name**: spring-cloud-learn-springboot3 - **Description**: springboot3依赖 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-01-11 - **Last Updated**: 2025-10-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README 学习使用 springboot 3.3.7 2023.0.1 2023.0.1.0 Springboot3不再支持 sleuth Spring Cloud Sleuth will not work with Spring Boot 3.x onward. The last major version of Spring Boot that Sleuth will support is 2.x. Spring Cloud Alibaba 21版本发布说明 https://sca.aliyun.com/docs/2021/overview/version-explain/?spm=5176.29160081.0.0.5f0478fegoEBSY 22版本发布说明 https://sca.aliyun.com/docs/2022/overview/version-explain/?spm=7145af80.493a8c99.0.0.344a2d5bFfuuT9 23版本发布说明 https://sca.aliyun.com/docs/2023/overview/version-explain/?spm=7145af80.493a8c99.0.0.344a2d5bFfuuT9 nacos 说明 https://nacos.io/docs/v2.3/ecology/use-nacos-with-spring-cloud/?spm=5238cd80.2ef5001f.0.0.3f613b7csrnZnF 请求服务--》springcloud-study-springboot2 服务名--〉spring-study 需要跟本服务连接同一个nacos 根据你提供的FileUploadController.java文件内容,文件上传的位置并不是随机的,而是由HttpServletRequest对象的getServletContext().getRealPath("/")方法决定的。这个方法返回的是Web应用程序的根目录路径,通常是Tomcat服务器上的一个固定路径,而不是临时文件路径。 如果你希望指定一个确定的路径来保存上传的文件,可以按照以下步骤进行修改: 定义一个配置属性:在application.properties或application.yml中定义一个属性来指定文件上传的路径。 # application.properties file.upload-dir=/path/to/your/upload/ 解决 SpringBoot 升级 3.3.0 MybatisPlus报错 Invalid value type for attribute 'factoryBeanObjectType': java.lang.String 稍微百度了一下,就这位老哥说的最准确 https://www.jb51.net/program/308745bxt.htm 顺便贴一下Github上的相关的issues https://github.com/baomidou/mybatis-plus/issues/5962 https://github.com/baomidou/mybatis-plus/issues/5747 https://github.com/mybatis/spring/issues/855 总结: (以下内容直接摘抄自jb51作者有来技术) 项目中使用 mybatis-plus-boot-starter 当前最新版本 3.5.4.1 ,其中依赖的 mybatis-spring 版本为 2.1.1 在 mybatis-spring 2.1.1 版本的 ClassPathMapperScanner#processBeanDefinitions 方法里将 BeanClassName 赋值给 String 变量 并将 beanClassName 赋值给 factoryBeanObjectType 但是在 Spring Boot 3.2 版本中FactoryBeanRegistrySupport#getTypeForFactoryBeanFromAttributes方法已变更,如果 factoryBeanObjectType 不是 ResolvableType 或 Class 类型会抛出 IllegalArgumentException 异常。 此时因为 factoryBeanObjectType 是 String 类型,不符合条件而抛出异常。 简而言之 项目中直接或间接依赖 mybatis-spring 2.x.x 的,不能兼容 Springboot 3.2.0 及以上版本 现在存在一个时间点上的尴尬,截止2024年6月,MyBatisPlus 3.5.7版本中,仍然在间接依赖 mybatis-spring 2.1.2,官方尚未更新到 mybatis-spring 3.x.x,这到也不怪MyBatisPlus,因为祸是mybatis闯的 所以解决方案就3个 1. 要么Springboot 退到3.1.x 版本,不支持虚拟线程 2. 要么手动剔除mybatis-spring 2.1.2 强制改为 mybatis-spring 3.x.x 3. 要么等,等MybatisPlus更新到依赖 mybatis-spring 3.x.x 的版本 方案2的代码如下 pom.xml com.baomidou mybatis-plus-boot-starter 3.5.7 org.mybatis mybatis-spring org.mybatis mybatis-spring 3.0.3