勇敢尝鲜之Springboot3大坑-集成Mybatisplus报错:ddlApplicationRunner
🌹作者主页:青花锁 🌹简介:Java领域优质创作者🏆、Java微服务架构公号作者😄
🌹简历模板、学习资料、面试题库、技术互助
🌹文末获取联系方式 📝

往期热门专栏回顾
| 专栏 | 描述 |
|---|---|
| Java项目实战 | 介绍Java组件安装、使用;手写框架等 |
| Aws服务器实战 | Aws Linux服务器上操作nginx、git、JDK、Vue |
| Java微服务实战 | Java 微服务实战,Spring Cloud Netflix套件、Spring Cloud Alibaba套件、Seata、gateway、shadingjdbc等实战操作 |
| Java基础篇 | Java基础闲聊,已出HashMap、String、StringBuffer等源码分析,JVM分析,持续更新中 |
| Springboot篇 | 从创建Springboot项目,到加载数据库、静态资源、输出RestFul接口、跨越问题解决到统一返回、全局异常处理、Swagger文档 |
| Spring MVC篇 | 从创建Spring MVC项目,到加载数据库、静态资源、输出RestFul接口、跨越问题解决到统一返回 |
| 华为云服务器实战 | 华为云Linux服务器上操作nginx、git、JDK、Vue等,以及使用宝塔运维操作添加Html网页、部署Springboot项目/Vue项目等 |
| Java爬虫 | 通过Java+Selenium+GoogleWebDriver 模拟真人网页操作爬取花瓣网图片、bing搜索图片等 |
| Vue实战 | 讲解Vue3的安装、环境配置,基本语法、循环语句、生命周期、路由设置、组件、axios交互、Element-ui的使用等 |
| Spring | 讲解Spring(Bean)概念、IOC、AOP、集成jdbcTemplate/redis/事务等 |
前言
新到一台电脑,安装Docker Desktop,安装Idea,下载jdk21,初始化Springboot3项目,集成docker-compose,集成pgsql,集成mybatis-plus。
在集成docker-compose,导入pgsql包这些步骤都没有问题。在集成mybatis-plus之后出了问题(简单的增删改查业务逻辑已加入),启动不成功,报错信息如下:
【org.springframework.beans.factory.BeanNotOfRequiredTypeException: Bean named ‘ddlApplicationRunner’ is expected to be of type ‘org.springframework.boot.Runner’ but was actually of type ‘org.springframework.beans.factory.support.NullBean’】

1、排查问题
项目已经有初始的业务CURD(在Springboot2.7 + JDK8 + pgsql + mybatisplus版本,已经成功验证过),使用的Springboot3 + JDK21 + docker-compose + pgsql + mybatis-plus。

1.1、检查问题
排查jar包环境
<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>3.2.3</version><relativePath/> <!-- lookup parent from repository --></parent><properties><java.version>21</java.version><project.build.sourceEncoding>UTF-8</project.build.sourceEncoding></properties><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.4.1</version><exclusions><exclusion><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId></exclusion></exclusions></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>3.0.3</version></dependency>
2、解决问题
解决办法是把【mybatis-plus-boot-starter】版本升级为3.5.5(有兴趣的可以看下源码,看看这2块的代码: ‘org.springframework.boot.Runner’ 、 ‘org.springframework.beans.factory.support.NullBean’)。
<dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus-boot-starter</artifactId><version>3.5.5</version><exclusions><exclusion><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId></exclusion></exclusions></dependency><dependency><groupId>org.mybatis</groupId><artifactId>mybatis-spring</artifactId><version>3.0.3</version></dependency>
2.1、启动项目成功
把【mybatis-plus-boot-starter】版本升级为3.5.5之后,项目再次启动,可以在控制台看到项目启动成功,在8081端口提供http服务。

2.2、访问接口
通过查询name=admin,成功找到了数据库里的数据。


2.2.1、开启控制台SQL

总结
JDK21已经出了一段时间,未来我们的项目也都会往这个JDK21迁移,那不如现在就开始,把主流框架、业务都慢慢迁移过来,以备不时之需。而且JDK21也支持ZGC(ZGC(Z Garbage Collector)是Java虚拟机中的一种垃圾回收器,属于低延迟垃圾回收器),后面我们在来验证JDK21开启ZGC的效果。
资料获取,更多粉丝福利,关注下方公众号获取

相关文章:
勇敢尝鲜之Springboot3大坑-集成Mybatisplus报错:ddlApplicationRunner
🌹作者主页:青花锁 🌹简介:Java领域优质创作者🏆、Java微服务架构公号作者😄 🌹简历模板、学习资料、面试题库、技术互助 🌹文末获取联系方式 📝 往期热门专栏回顾 专栏…...
linux高级编程:线程(二)、进程间的通信方式
线程: 回顾线程(一): 1.线程间通信问题 线程间共享同一个资源(临界资源) 互斥: 排他性访问 linux系统 -- 提供了Posix标准的函数库 -- 互斥量(互斥锁) 原子操作&#x…...
Unity 佳能SDK 及数据获取
1. 填写信息跟官方申请SDK,大概1-2个工作日会邮件回复你 佳能(中国)- 佳定制(佳能影像产品),SDK,EDSDK,CCAPI,软件开发包下载 2. 将SDK这两个文件放到 Unity Plugins文件夹 3. 把CameraControl 下面只要是绿色的 .cs 文件都复制到Unity 中...
Unity(第二十三部)导航
你可以使用 unity官方提供的 unity导航组件或第三方 unity导航组件,以实现游戏中角色或其他物体的导航。 unity导航组件通常具有多种导航模式,如飞行模式、步行模式、车辆模式等,可以根据不同的需求选择合适的模式。同时,unity导…...
根据建表sql语句生成go的struct代码工具
sql2struct 一个根据"CREATE TABLE"建表语句生成对应的Go语言结构体的工具,暂只支持 MySQL 表。 开发目的 在 github 中找到一些 sql2struct,但要么是 chrome 插件,要么是在线工具,要么是需要连接 MySQL,…...
Qt 自定义长条进度条(类似播放器进度条)
1.运行界面 2.步骤 其实很简单。 2.1绘制底图圆角矩形 2.2绘制播放进度圆角矩形 参考:painter绘图 3.源码 #pragma once#include <QWidget> #include <QLabel> #include <QHBoxLayout> #include <QMouseEvent> #include <QDebug&g…...
休息日的思考与额外题——双指针、原地哈希day28
文章目录 前言一、11. 盛最多水的容器二、41. 缺失的第一个正数三、42. 接雨水总结 前言 一个本硕双非的小菜鸡,备战24年秋招,计划二刷完卡子哥的刷题计划,加油! 二刷决定精刷了,于是参加了卡子哥的刷题班,…...
数据修改
Oracle 目录 数据修改 将员工编号的 7369 的员工工资修改为 810,佣金改为 100 将工资最低的员工工资修改为公司的平均工资 将所有在 1981 年雇佣的员工的雇佣日期修改为今天,工资增长 20% 数据的更新操作 Oracle从入门到总裁:https://blog.csdn.n…...
Android JNI复杂用法,回调,C++中调用Java方法
Android JNI复杂用法,回调,C中调用Java方法 一、前言 Android JNI的 普通用法估计很多人都会,但是C中调用Java方法很多人不熟悉,并且网上很多介绍都是片段的。 虽然C/C调用Java不常用,但是掌握多一点还是有好处的。…...
C++从零开始的打怪升级之路(day41)
这是关于一个普通双非本科大一学生的C的学习记录贴 在此前,我学了一点点C语言还有简单的数据结构,如果有小伙伴想和我一起学习的,可以私信我交流分享学习资料 那么开启正题 今天分享的是关于继承的知识点 1.派生类的默认成员函数 首先我…...
uni-app app实现web-view H5图片长按下载
问题和使用场景描述: uniapp app web-view中图片无法长按保存,IOS下是正常的,但是Android下长按无反应 解决方案: 下载mui.min.js,放到项目中的static下(下载见最上面的压缩包) 在static目录下新建script.js mui.…...
全量知识系统问题及SmartChat给出的答复 之5
Q15. 支持前端(知识表征)的自然语言能力 需要一个 元语言注释工具 以及两个库(叙词库和语料库)和主题词表。请 1)设计 两个库和主题词表的结构 ,2)分别设计它们的接口,3)通过调用它们…...
DolphinScheduler——工作流实例的生命周期
目录 一、DolphinScheduler架构原理 1.1 系统架构图 1.2 DolphinScheduler核心概念 1.2 创建工作流 1.2.1 如何触发一个工作流实例 1.2.2 任务调度链路监控 1.2.3 Workflow-DAG解析 DAG解析 Dispatch分发流程 Master和Worker的交互过程 1.3 任务运行状态 该篇文章主…...
阻塞和非阻塞网络io有什么区别,分别有哪些应用场景?
阻塞(Blocking)和非阻塞(Non-blocking)网络I/O是两种不同的I/O模型,它们在处理I/O操作时的行为和特点有所不同。 阻塞式网络I/O(Blocking I/O): 在阻塞式网络I/O中,当应…...
面试数据库篇(mysql)- 12分库分表
拆分策略 垂直分库 垂直分库:以表为依据,根据业务将不同表拆分到不同库中。 特点: 按业务对数据分级管理、维护、监控、扩展在高并发下,提高磁盘IO和数据量连接数垂直分表:以字段为依据,根据字段属性将不同字段拆分到不同表中。 特点: 1,冷热数据分离 2,减少IO过渡争…...
LaTeX中的多行数学公式
目录 参考链接 一、gather以及gather*环境编排公式 1、 gather环境 2、 gather*环境 3、 阻止编号 二、align以及align*环境设定公式对齐方式 1、align环境 2、align*环境 三、split环境实现一个公式多行排版 四、cases环境实现分段函数 参考链接 LaTeX中的多行数学…...
绕过5秒盾Cloudflare和DDoS-GUARD
绕过5秒盾Cloudflare和DDoS-GUARD 5秒盾的特点免费版5秒盾的绕过方法付费版5秒盾的绕过方法 5秒盾的特点 <title>Just a moment...</title>例如: <!DOCTYPE html><html lang"en-US"><head><title>Just a moment...</title&…...
react 原理揭秘
1.目标 A. 能够知道setState()更新数据是异步的 B. 能够知道JSX语法的转化过程 C. 能够说出React组件的更新机制 D. 能够对组件进行性能优化 E. 能够说出虚拟DOM和Diff算法 2.目录 A. setState()的说明 B. JSX语法的转化过程 C. 组件更新机制 D. 组件性能优化 E. 虚拟DOM和D…...
el-table实现转置表格
vue版本:vue2.6.10 elementui版本:2.15.14 实现效果:el-table实现行列互换 代码: <template><div class"app-container"><span>原始数据</span><el-table:data"datas"border>…...
(3)(3.1) FlightDeck FrSky发射器应用程序
文章目录 前言 1 概述 2 Turnkey Packages 3 参数说明 前言 Craft and Theory 的 FlightDeck 可让你轻松查看飞行模式、高度、速度、姿态和关键系统警报,包括故障保护和电池错误,如电池不平衡警告和发射机低电量警报。 1 概述 Craft and Theory 的…...
AI快速生成可编辑的流程图的方法
AI快速生成可编辑的流程图的方法 方法1:使用deepseek直接生成drawio流程图 生成后下载,使用drawio(访问地址:https://app.diagrams.net/) 打开 在drawio对流程图进行修改和美化。 方法2:使用deepseek生成…...
CustomThreads:3D打印螺纹创新3大突破,告别配合难题
CustomThreads:3D打印螺纹创新3大突破,告别配合难题 【免费下载链接】CustomThreads Fusion 360 Thread Profiles for 3D-Printed Threads 项目地址: https://gitcode.com/gh_mirrors/cu/CustomThreads 副标题:为何传统螺纹设计在FDM打…...
郭老师-成为精英:独立人格、爱国情怀与未来思维
成为精英 ——独立人格、爱国情怀与未来思维“精英不是靠头衔定义, 而是—— 由独立人格、爱国情怀和未来思维共同铸就。”🌿 真正的精英, 不是依赖系统的人, 而是—— 能在风雨中站稳脚跟, 引领社会走向美好未来。⚠️…...
卡梅德生物技术快报|重组蛋白昆虫表达培养基对比与工艺选型
摘要本文为卡梅德生物技术快报技术文章,围绕重组蛋白昆虫表达上游工艺,对比三款工业级无血清培养基性能,给出 Sf9/High-Five 细胞适配方案、驯化流程、培养参数与质控要点,为生物制药上游工艺开发与放大提供工程化实践指导。1 引言…...
DeOldify构建AI编程工具链:自动化代码生成辅助图像处理项目
DeOldify构建AI编程工具链:自动化代码生成辅助图像处理项目 最近在做一个老照片修复的项目,核心用的是DeOldify这个效果很棒的着色模型。但在实际开发中,我发现一个挺有意思的问题:围绕DeOldify的集成和前后处理,其实…...
Qwen3.5-9B行业应用:法律文书生成(起诉状/答辩状/代理词)+类案推送
Qwen3.5-9B行业应用:法律文书生成(起诉状/答辩状/代理词)类案推送 1. 法律AI助手的新选择 在法律行业,文书撰写和案例检索占据了律师大量工作时间。传统方式下,一份标准的起诉状可能需要3-4小时完成初稿,…...
SOONet部署教程:解决OpenCV版本冲突与ffmpeg硬解码启用方法
SOONet部署教程:解决OpenCV版本冲突与ffmpeg硬解码启用方法 1. 项目概述与环境准备 SOONet是一个基于自然语言输入的长视频时序片段定位系统,能够通过一次网络前向计算精确定位视频中的相关片段。这个系统在处理小时级长视频时表现出色,推理…...
MicroBlaze 大程序 Flash 固化与自启
MicroBlaze 大程序 Flash 固化与自启1. 核心原因分析:为什么大程序不能直接固化?在带 ARM 核的 FPGA(如 Zynq 系列)中,硬件内置了 BootROM 和 FSBL 机制,可以自动处理镜像打包和 DDR 初始化。但在 纯 FPGA&…...
YOLOv11与PP-DocLayoutV3对比:目标检测与文档版面分析的技术异同
YOLOv11与PP-DocLayoutV3对比:目标检测与文档版面分析的技术异同 最近在和朋友聊起计算机视觉项目时,发现一个挺有意思的现象。有人拿着一个号称“地表最强”的通用目标检测模型,信心满满地想去处理一份复杂的扫描版PDF,结果却碰…...
GLM-4V-9B惊艳效果展示:电路板图元器件识别+故障点定位+维修指引生成
GLM-4V-9B惊艳效果展示:电路板图元器件识别故障点定位维修指引生成 安全声明:本文仅展示AI技术能力,所有电路板图像均为演示用途,不涉及任何实际设备或敏感信息 1. 项目概述与核心能力 GLM-4V-9B多模态大模型在工业视觉检测领域展…...
