r2dbc的repository注入失败

简介: r2dbc的repository注入失败

怀疑与信仰,两者都是必需的。怀疑能把昨天的信仰摧毁,替明日的信仰开路。——罗曼·罗兰

今天springboot3使用r2dbc踩坑

Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.ruben.repository.UserRepository' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@jakarta.annotation.Resource(shareable=true, lookup="", name="", description="", authenticationType=CONTAINER, type=java.lang.Object.class, mappedName="")}

依赖大概是:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-r2dbc</artifactId>
    <version>3.0.2</version>
</dependency>
<dependency>
    <groupId>io.asyncer</groupId>
    <artifactId>r2dbc-mysql</artifactId>
    <version>1.0.3</version>
</dependency>

使用时:

import org.springframework.data.repository.reactive.ReactiveCrudRepository;
import org.springframework.stereotype.Repository;
import reactor.core.publisher.Flux;
@Repository
public interface UserRepository extends ReactiveCrudRepository<User, Long>{
}

乍一看没啥问题,但就是报错,最后发现控制台打印了一句INFO等级的日志:

2023-10-28T08:32:14.926+08:00  INFO [im-logic-service,,,] 50350 --- [           main] .RepositoryConfigurationExtensionSupport : Spring Data R2DBC - Could not safely identify store assignment for repository candidate interface com.ruben.repository.RoomRepository; If you want this repository to be a R2DBC repository, consider annotating your entities with one of these annotations: org.springframework.data.relational.core.mapping.Table (preferred), or consider extending one of the following types with your repository: org.springframework.data.r2dbc.repository.R2dbcRepository

原来是需要在实体类上加@Table注解或者接口继承R2dbcRepository。。。

相关文章
|
JSON 小程序 JavaScript
【微信小程序】-- 自定义组件 -- 创建与引用 &样式(三十二)
【微信小程序】-- 自定义组件 -- 创建与引用 &样式(三十二)
|
SQL NoSQL Oracle
响应式关系数据库处理R2DBC
响应式关系数据库处理R2DBC
Cron表达式每隔两小时执行一次
Cron表达式每隔两小时执行一次
569 1
|
4月前
|
人工智能 弹性计算 监控
【云故事探索】NO.16:阿里云弹性计算加速精准学 AI 教育普惠落地
全球首个K12教育超级智能体“寒雪老师”依托阿里云弹性计算,实现“超拟人”教学与教育普惠。智能精准学通过AI技术提供个性化学习方案,借助学习机等产品实现语音交互、答疑解惑,助力每个孩子拥有终身学习能力。面对实时交互与流量潮汐挑战,阿里云ECS与GPU算力保障低延迟、高并发服务稳定运行,实现30秒内弹性扩容,确保业务连续性。从实验室到千万课堂,算力支撑寒雪老师从城市到山区,推动AI教育公平发展。
|
6月前
|
Java 应用服务中间件
多项目分接口:在同一Tomcat下使用不同的端口号访问不同的项目。
总而言之,要在同一Tomcat服务器下使用不同端口访问不同项目,关键是通过对server.xml文件的配置创建多个 `<Service>`实例和相应的虚拟主机。这种方法既实现了项目隔离,也有助于优化资源利用率。通过遵循本文的详细说明,很容易地就能满足需求实现多项目分接口。
250 38
|
6月前
|
人工智能 程序员 测试技术
游戏开发成本认知鸿沟:从民间臆测到3A现实的残酷距离-优雅草卓伊凡
游戏开发成本认知鸿沟:从民间臆测到3A现实的残酷距离-优雅草卓伊凡
275 16
游戏开发成本认知鸿沟:从民间臆测到3A现实的残酷距离-优雅草卓伊凡
|
11月前
|
JavaScript 算法 前端开发
为什么npm run serve正常,npm run build就报错:digital envelope routines::unsupported
通过本文的分析,我们详细介绍了 `npm run serve`正常但 `npm run build`时报错:`digital envelope routines::unsupported`的原因及解决方案。主要从检查Node.js版本、更新依赖、检查依赖库、配置文件及环境变量等方面进行了深入探讨。希望本文能帮助开发者解决这一问题,确保项目顺利构建和部署。
1166 6
|
SQL 监控 关系型数据库
MySQL如何查看每个分区的数据量
通过本文的介绍,您可以使用MySQL的 `INFORMATION_SCHEMA`查询每个分区的数据量。了解分区数据量对数据库优化和管理具有重要意义,可以帮助您优化查询性能、平衡数据负载和监控数据库健康状况。希望本文对您在MySQL分区管理和性能优化方面有所帮助。
1048 1
|
Java 开发者 Spring