初学MybatisPlus报错

刚学完spring boot,然后学MybatisPlus,看着视频学酷酷报错

java.lang.String

Spring应用程序上下文中,有一个工厂bean的factoryBeanObjectType属性被设置为java.lang.String,而这被认为是无效的。

java.lang.IllegalStateException: Failed to load ApplicationContext for [MergedContextConfiguration@44841b43 testClass = com.atguigu.test.MybatisPlusTest, locations = [], classes = [com.atguigu.MainApplication], contextInitializerClasses = [], activeProfiles = [], propertySourceDescriptors = [], propertySourceProperties = ["org.springframework.boot.test.context.SpringBootTestContextBootstrapper=true"], contextCustomizers = [org.springframework.boot.test.context.filter.ExcludeFilterContextCustomizer@10d307f1, org.springframework.boot.test.json.DuplicateJsonObjectContextCustomizerFactory$DuplicateJsonObjectContextCustomizer@5403f35f, org.springframework.boot.test.mock.mockito.MockitoContextCustomizer@0, org.springframework.boot.test.web.client.TestRestTemplateContextCustomizer@383bfa16, org.springframework.boot.test.autoconfigure.actuate.observability.ObservabilityContextCustomizerFactory$DisableObservabilityContextCustomizer@1f, org.springframework.boot.test.autoconfigure.properties.PropertyMappingContextCustomizer@0, org.springframework.boot.test.autoconfigure.web.servlet.WebDriverContextCustomizer@21e360a, org.springframework.boot.test.context.SpringBootTestAnnotation@59a2f297], contextLoader = org.springframework.boot.test.context.SpringBootContextLoader, parent = null]

这个错误似乎是在加载Spring应用程序上下文时出现了问题,导致测试无法正常进行。具体来说,错误信息为:

Caused by: java.lang.IllegalArgumentException: Invalid value type for attribute 'factoryBeanObjectType': java.lang.String
	at org.springframework.beans.factory.support.FactoryBeanRegistrySupport.getTypeForFactoryBeanFromAttributes(FactoryBeanRegistrySupport.java:86)

这表明在Spring应用程序上下文中,有一个工厂bean的factoryBeanObjectType属性被设置为java.lang.String,而这被认为是无效的。

这可能是由于应用程序上下文配置中存在错误或不一致的bean定义引起的。以下是一些可能的解决方法:

  1. **检查工厂bean配置:**检查您的应用程序上下文配置,尤其是工厂bean的定义。确保factoryBeanObjectType属性被正确设置,且与其期望的值类型匹配。

  2. **排查配置问题:**查看最近是否有更改,尤其是与测试类、Spring配置或相关依赖项有关的更改。

  3. **检查测试类注解:**确保您的测试类正确注解,特别是使用@SpringBootTest注解,并且任何其他注解或配置都是正确的。

  4. **确认依赖项兼容性:**确保您的Spring Boot版本与其他相关依赖项的版本兼容。版本不匹配可能会导致不稳定性。

  5. **查找工厂bean的问题:**如果您有自定义的工厂bean,确保它们的配置正确,特别是factoryBeanObjectType属性的设置。

  6. **检查循环依赖:**在Spring bean中的循环依赖有时会导致问题。确保您的bean依赖关系没有引起冲突的循环依赖。

这些是chatgpt给我的答案,我自己怎么也解决不了,然后在csdn找到了大佬的一篇文章

发现

mybatis-spring 这个包版本应该比较低,造成不支持springboot3.2.0

于是,将依赖改成

<dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>druid-spring-boot-3-starter</artifactId>
            <exclusions>
                <exclusion>
                    <groupId>org.mybatis</groupId>
                    <artifactId>mybatis-spring</artifactId>
                </exclusion>
            </exclusions>
            <version>1.2.20</version>
        </dependency>
        <dependency>
            <groupId>org.mybatis</groupId>
            <artifactId>mybatis-spring</artifactId>
            <version>3.0.3</version>
        </dependency>

就可以运行了

  • 13
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

SWUT胖虎

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值