0

尝试将RxJavaCrudRepositoryMicronaut 数据与 mongo db 一起使用。

@Repository
public interface GenericRepository extends RxJavaCrudRepository<Product, Long> {
}

从存储库中获取价值

private final GenericRepository repository;

    public ProductListener(GenericRepository repository) {
        this.repository = repository;
    }
    var item = this.repository.findAll();

依赖

implementation("io.micronaut.data:micronaut-data-hibernate-jpa")
    implementation("io.micronaut.mongodb:micronaut-mongo-reactive")

例外

io.micronaut.context.exceptions.ConfigurationException:没有为存储库配置支持 RepositoryOperations。检查您的配置并重试

io.micronaut.context.exceptions.NoSuchBeanException:不存在 [io.micronaut.data.operations.PrimaryRepositoryOperations] 类型的 bean。确保 bean 没有被 bean 要求禁用(启用跟踪日志以检查“io.micronaut.context.condition”),如果启用了 bean,则确保将类声明为 bean 并启用注释处理(对于 Java 和Kotlin 的“micronaut-inject-java”依赖项应配置为注解处理器)。

4

1 回答 1

1

尝试使用 MongoClient 而不是存储库。

例如,请参见此处:

https://github.com/ilopmar/micronaut-mongo-reactive-sample/blob/master/src/main/java/mongoreactive/MongoController.java

或者在这里:

http://mongodb.github.io/mongo-java-driver-reactivestreams/1.9/javadoc/com/mongodb/reactivestreams/client/MongoClient.html

我猜存储库不支持 mongodb。这就是你得到异常的原因,因为没有真正的数据库可以与 repo 一起使用。

于 2020-10-17T16:03:55.483 回答