新建数据源报错No bean named ‘SqlSessionFactorykf‘ available

背景

基于Spring和Mybatis的项目,新增数据源,后报错No bean named 'SqlSessionFactorykf' available

其中文件目录结果如下

bash 复制代码
src/main/java/com/example
├── config
│   └──db1DataSourceConfig         # 数据源1的配置
│   └──db2DataSourceConfig         # 数据源2的配置
├── controller
│   └── DataController.java
├── infrastructure
│   ├── db1
│   │   ├── datamodal         # 数据源1的Mapper接口
│   │   │   └── User1Info.java
│   │   └── mapper          # 数据源2的Mapper接口
│   │       └── User2Mapper.java
│   ├── db2 
│   │   ├── datamodal         # 数据源1的Mapper接口
│   │   │   └── User1Info.java
│   │   └── mapper          # 数据源2的Mapper接口
│   │       └── User2Mapper.java
├── domain
│   ├── imopl
│   │   └── User1Impl.java
│   │   └── User2Impl.java
│   ├── User1Service.java
│   ├── User2Service.java
├── service
│   └──  User2InfoService.java
│   └──  User2InfoService.java


src/main/resources
├── mapper
│   ├── db1          # 数据源1的XML映射文件
│   │   └── User1Mapper.xml
│   └── db2          # 数据源2的XML映射文件
│       └── User2Mapper.xml
└── application.yml

问题分析

报错内容后分析问题大概率处在Config文件中

仔细查看发现

直接原因:Bean 名称拼写错误,SqlSessionFactorykf 与你定义的名称不一致。

也就是Bean对应的name没有改过来,所以报错了

java 复制代码
@Bean(name = "SqlSessionFactorykf")  // 名称中包含了 kf
public SqlSessionFactory sqlSessionFactory1(...) { ... }
相关推荐
这个DBA有点耶8 分钟前
NULL不是空——数据库里最反直觉的设计,90%新人踩过的坑
数据库·mysql·代码规范
karry_k25 分钟前
MyBatis批量insert-select踩坑:useGeneratedKeys=true 可能让PostgreSQL返回大量插入结果
java·后端
karry_k32 分钟前
PostgreSQL 在 MyBatis 中执行正常 SQL 失效:一次 DELETE USING 踩坑记录
java·后端
这个DBA有点耶2 小时前
AI写的SQL跑崩了生产库,这锅谁背?
数据库·人工智能·程序员
镜舟科技3 小时前
Databricks 再提 LTAP,AI 时代的数据底座为何重回大一统叙事?
数据库·架构·agent
Databend3 小时前
从湖仓升级为 Agent 时代的数据控制面,Snowflake 和 Databricks 有哪些布局
大数据·数据库·agent
SamDeepThinking4 小时前
从源码到代码:MyBatis-Flex 与 MyBatis-Plus 的逐项对比
java·后端·程序员
ClouGence7 小时前
SQL Server CDC 能放到 Always On 备库读吗?一文讲透原理与实践
数据库·sql server
她的男孩7 小时前
Spring Boot 接 Flowable 工作流:用 3 个注解搭一个请假审批流程
java·后端·架构
荣码9 小时前
LLM结构化输出:让AI返回JSON而不是废话,我踩了4个坑
java·python