# 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