SpringBoot3.2.0整合MyBatis-plus的相关问题及处理方法

SpringBoot3.2.0整合MyBatis-plus的相关问题

文章目录

  • SpringBoot3.2.0整合MyBatis-plus的相关问题
  • 1. build.gradle
  • 2. mybatis-plus整合问题
    • 1. 错误描述
    • 2. 问题分析及解决
      • 1. 原因分析
      • 2. 解决方式

Springboot3.2.0 GA版发布于 2023-11-24

环境:SpringBoot3.2.0+Gradle8.x+Java17

1. build.gradle

plugins {id 'java'id 'org.springframework.boot' version '3.2.0'
}group = 'com.yuan'
version = '1.0.0'
java {sourceCompatibility = '17'
}configurations {compileOnly {extendsFrom annotationProcessor}
}repositories {mavenLocal()mavenCentral()
}dependencies {//....implementation 'org.springframework.boot:spring-boot-starter-actuator'implementation 'com.baomidou:mybatis-plus-boot-starter:3.5.4.1'
}tasks.named('test') {outputs.dir snippetsDiruseJUnitPlatform()
}tasks.named('asciidoctor') {inputs.dir snippetsDirdependsOn test
}hibernate {enhancement {enableAssociationManagement = true}
}

2. mybatis-plus整合问题

1. 错误描述

升级后出现java.lang.IllegalArgumentException: Invalid value type for attribute 'factoryBeanObjectType': java.lang.String 问题,如下

  .   ____          _            __ _ _/\\ / ___'_ __ _ _(_)_ __  __ _ \ \ \ \
( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \\\/  ___)| |_)| | | | | || (_| |  ) ) ) )'  |____| .__|_| |_|_| |_\__, | / / / /=========|_|==============|___/=/_/_/_/:: Spring Boot ::                (v3.2.0)2023-11-24 16:34:46.822 [background-preinit] INFO  org.hibernate.validator.internal.util.Version:21 - HV000001: Hibernate Validator 8.0.1.Final
2023-11-24 16:34:46.862 [restartedMain] INFO  com.yuan.YuanBoot3AdminApplication:50 - Starting YuanBoot3AdminApplication using Java 17.0.7 with PID 33080 (E:\myGradleProjects\springboot3\yuan-boot3-vue3\yuan-boot3-admin\build\classes\java\main started by jinshengyuan in E:\myGradleProjects\springboot3)
2023-11-24 16:34:46.863 [restartedMain] INFO  com.yuan.YuanBoot3AdminApplication:659 - The following 3 profiles are active: "myhome", "api_docs", "flyway"
2023-11-24 16:34:46.899 [restartedMain] INFO  o.s.b.d.env.DevToolsPropertyDefaultsPostProcessor:252 - Devtools property defaults active! Set 'spring.devtools.add-properties' to 'false' to disable
2023-11-24 16:34:46.900 [restartedMain] INFO  o.s.b.d.env.DevToolsPropertyDefaultsPostProcessor:252 - For additional web related logging consider setting the 'logging.level.web' property to 'DEBUG'
2023-11-24 16:34:47.938 [restartedMain] INFO  o.s.d.r.config.RepositoryConfigurationDelegate:292 - Multiple Spring Data modules found, entering strict repository configuration mode
2023-11-24 16:34:47.940 [restartedMain] INFO  o.s.d.r.config.RepositoryConfigurationDelegate:139 - Bootstrapping Spring Data Redis repositories in DEFAULT mode.
2023-11-24 16:34:47.974 [restartedMain] INFO  o.s.d.r.config.RepositoryConfigurationDelegate:208 - Finished Spring Data repository scanning in 24 ms. Found 0 Redis repository interfaces.
2023-11-24 16:34:48.067 [restartedMain] WARN  o.s.b.w.s.c.AnnotationConfigServletWebServerApplicationContext:624 - Exception encountered during context initialization - cancelling refresh attempt: java.lang.IllegalArgumentException: Invalid value type for attribute 'factoryBeanObjectType': java.lang.String
2023-11-24 16:34:48.078 [restartedMain] INFO  o.s.b.a.logging.ConditionEvaluationReportLogger:82 - Error starting ApplicationContext. To display the condition evaluation report re-run your application with 'debug' enabled.
2023-11-24 16:34:48.091 [restartedMain] ERROR org.springframework.boot.SpringApplication:839 - Application run failed
java.lang.IllegalArgumentException: Invalid value type for attribute 'factoryBeanObjectType': java.lang.Stringat org.springframework.beans.factory.support.FactoryBeanRegistrySupport.getTypeForFactoryBeanFromAttributes(FactoryBeanRegistrySupport.java:86)at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.getTypeForFactoryBean(AbstractAutowireCapableBeanFactory.java:838)at org.springframework.beans.factory.support.AbstractBeanFactory.isTypeMatch(AbstractBeanFactory.java:620)at org.springframework.beans.factory.support.DefaultListableBeanFactory.doGetBeanNamesForType(DefaultListableBeanFactory.java:573)at org.springframework.beans.factory.support.DefaultListableBeanFactory.getBeanNamesForType(DefaultListableBeanFactory.java:532)at org.springframework.context.support.PostProcessorRegistrationDelegate.invokeBeanFactoryPostProcessors(PostProcessorRegistrationDelegate.java:138)at org.springframework.context.support.AbstractApplicationContext.invokeBeanFactoryPostProcessors(AbstractApplicationContext.java:775)at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:597)at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:146)at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:753)at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:455)at org.springframework.boot.SpringApplication.run(SpringApplication.java:323)at org.springframework.boot.SpringApplication.run(SpringApplication.java:1342)at org.springframework.boot.SpringApplication.run(SpringApplication.java:1331)at com.yuan.YuanBoot3AdminApplication.main(YuanBoot3AdminApplication.java:24)at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)at java.base/java.lang.reflect.Method.invoke(Method.java:568)at org.springframework.boot.devtools.restart.RestartLauncher.run(RestartLauncher.java:50)Process finished with exit code 0

2. 问题分析及解决

1. 原因分析

经排查发现引入的mybaits-plus版本为3.5.4.1,依赖spring与mybatis整合的版本为org.mybatis:mybatis-spring:2.1.1,

所以会导致Invalid value type for attribute 'factoryBeanObjectType': java.lang.String的问题

2. 解决方式

有两种解决方式

  1. 升级Mybatisplus的版本到最高版本,如implementation 'com.baomidou:mybatis-plus-generator:3.5.5'
  2. 还是用3.5.4.1版本,需要在build.gradle中引入mybatis-spring的高版本,如下mybatis-spring:3.0.3
plugins {id 'java'id 'org.springframework.boot' version '3.2.0'
}group = 'com.yuan'
version = '1.0.0'
java {sourceCompatibility = '17'
}configurations {compileOnly {extendsFrom annotationProcessor}
}repositories {mavenLocal()mavenCentral()
}dependencies {//....implementation 'org.springframework.boot:spring-boot-starter-actuator'implementation 'com.baomidou:mybatis-plus-boot-starter:3.5.4.1'// https://mvnrepository.com/artifact/org.mybatis/mybatis-spring//解决MyBaits-Plus依赖中spring-mybatis:2.1.1版本报`Invalid value type for attribute 'factoryBeanObjectType': java.lang.String`的问题implementation 'org.mybatis:mybatis-spring:3.0.3'}tasks.named('test') {outputs.dir snippetsDiruseJUnitPlatform()
}tasks.named('asciidoctor') {inputs.dir snippetsDirdependsOn test
}hibernate {enhancement {enableAssociationManagement = true}
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/714849.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【蛀牙】日常生活如何正确护理牙齿?刷牙、洗牙、补牙

程序员生活指南之 【蛀牙】日常生活如何正确护理牙齿?刷牙、洗牙、补牙 文章目录 一、日常如何清洗牙齿?——刷牙与洗牙1、牙齿污垢1.1 牙菌斑1.2 软垢1.3 牙结石1.4 牙龈出血 2、如何刷牙2.1 关于时间2.2 各种工具2.3 巴氏刷牙法 二、定期进行洗牙3、如…

题目 1076: 内部收益率

题目描述: 在金融中,我们有时会用内部收益率IRR来评价项目的投资财务效益,它等于使得投资净现值NPV等于0的贴现率。换句话说,给定项目的期数T、初始现金流CF0和项目各期的现金流CF1, CF2, ...,CFT,IRR是下面方程的解&…

RISC-V特权架构 - 特权模式与指令

RV32/64 特权架构 - 特权模式与指令 1 特权模式2 特权指令2.1 mret(从机器模式返回到先前的模式)2.2 sret(从监管模式返回到先前的模式)2.3 wfi(等待中断)2.4 sfence.vma(内存屏障) …

SpringBoot+Vue+MySQL:装修管理新架构探索

✍✍计算机毕业编程指导师 ⭐⭐个人介绍:自己非常喜欢研究技术问题!专业做Java、Python、微信小程序、安卓、大数据、爬虫、Golang、大屏等实战项目。 ⛽⛽实战项目:有源码或者技术上的问题欢迎在评论区一起讨论交流! ⚡⚡ Java、…

FPGA开源项目分享——2D N-Body重力模拟器

​导语 今天继续康奈尔大学FPGA 课程ECE 5760的典型案例分享——2D N-Body重力模拟器。 (更多其他案例请参考网站: Final Projects ECE 5760) 1. 项目概述 项目网址 Grav Sim 项目说明 该项目的目标是创建一个用DE1-SOC进行硬件加速的2…

Java面试技巧

一、面试前准备 复习基础知识:深入理解Java核心概念,如JVM、JDK、JRE等。熟悉Java基本语法、面向对象编程、异常处理、集合类、IO流等。同时,对Java的新特性,如Lambda表达式、Stream API等也要有所了解。强化算法和数据结构&…

简易内存池2 - 华为OD统一考试(C卷)

OD统一考试(C卷) 分值: 200分 题解: Java / Python / C 题目描述 请实现一个简易内存池,根据请求命令完成内存分配和释放。 内存池支持两种操作命令,REQUEST和RELEASE,其格式为: REQUEST请求的内存大小 …

Redis 【1】—— 安装 与 配置

Redis 【1】—— 安装 与 配置 一、安装 与 配置(一)使用 yum 安装(二)创建符号链接1. 软链接2. 相关指令 (三)修改配置文件(四)Redis 的启停 一、安装 与 配置 (一&…

Java的强引用、软引用、弱引用和虚引用详解。

Java的强引用、软引用、弱引用和虚引用 1. 强引用2. 软引用3. 弱引用4. 虚引用 总结 Java的强引用、软引用、弱引用和虚引用可以用来标识GC时判断对象是否达到回收的条件,下面结合Java代码看看这四类引用吧。 1. 强引用 是最普通的引用方式,通过new关键…

外贸业务员没客户的7大原因+解决办法!

业务员没有客户,就是无源之水,无本之木,这自然也就没有业绩。那些吃空饷的业务员,迟早会拖垮公司。所以不管是什么原因导致的业务员没客户,都要一一查验清楚。七个业务员没有客户的原因,七种对策&#xff0…

华为数通方向HCIP-DataCom H12-821题库(多选题:21-40)

第21题 管理员在配置 VRRP 时,下面哪些不是必须配置的? A.抢占模式 B.抢占延时 C.虚拟IP 地址 D.虚拟路由器的优先级 【参考答案】ABD 【答案解析】 VRRP的作用之一是提供一个虚拟的IP地址,用作默认网关,用来实现冗余和故障转移。因此,配置虚拟IP地址是必须的。华为设备vr…

hcip交换

交换机功能 无限的传输距离——识别,重写电信号(帧)保证信息完整彻底解决了冲突二层单播——MAC地址表提高端口密度 单播地址:MAC地址第一个字节第8位为0 组播地址:MAC地址第一个字节第8位为1 广播地址:全1…

渗透测试靶场环境搭建

1.DVWA靶场 DVWA(Damn Vulnerable Web Application)是一个用来进行安全脆弱性鉴定的PHP/MySQL Web应用,包含了OWASP TOP10的所有攻击漏洞的练习环境,旨在为安全专业人员测试自己的专业技能和工具提供合法的环境,同时…

Mybatis批量更新对象数据的两种方法

说明:遇到一次需要批量修改对象的场景。传递一个对象集合,需要根据对象ID批量修改数据库数据,使用的是MyBatis框架。查了一些资料,总结出两种实现方式。 创建Demo 首先,创建一个简单的Demo; &#xff08…

SpringBoot+Jwt+Redis

大致流程: 参照: 史上最全面的基于JWT token登陆验证_完整的基于jwt的登陆认证-CSDN博客 springboot整合JWTRedis_springboot jwt redis-CSDN博客

鸿蒙Harmony应用开发—ArkTS声明式开发(通用属性:浮层)

设置组件的遮罩文本。 说明: 从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 overlay overlay(value: string | CustomBuilder, options?: { align?: Alignment; offset?: { x?: number; y?: number } })…

剑指offer面试题28:对称的二叉树

#试题28:对称的二叉树 题目: 请设计一个函数判断一棵二叉树是否 轴对称 。 示例 1: 输入:root [6,7,7,8,9,9,8] 输出:true 解释:从图中可看出树是轴对称的。示例 2: 输入:root …

【合宙ESP32C3 Arduino开发】第四篇:TFT_eSPI 驱动 合宙Air101 ST7735 LCD 显示普通时钟,模块化编程

忘记过去,超越自己 ❤️ 博客主页 单片机菜鸟哥,一个野生非专业硬件IOT爱好者 ❤️❤️ 本篇创建时间 2024-03-02❤️❤️ 本篇更新时间 2024-03-02❤️🎉 欢迎关注 🔎点赞 👍收藏 ⭐️留言📝🙏…

白话大模型② | 如何提升AI分析的准确性?

白话大模型系列共六篇文章,将通俗易懂的解读大模型相关的专业术语。本文为第二篇:如何提升AI分析的准确性? 作者:星环科技 人工智能产品部 面对AI分析落地时的数量化、准确性、泛化性等问题,让我们稍微深入了解下当前…

pycharm专业版本的安装

一 、到官网下载对应的pycharm安装包 也可以把安装软件(用物理机下载到共享文件夹) 然后进入Ubuntu系统把下载大的安装包剪贴到目标路径 1 在ubuntu中创建一个用来存放pycharm安装包的文件夹 rootzmq-virtual-machine:/home/zmq/Desktop# mkdir pycha…