当前位置: 首页 > 知识库问答 >
问题:

创建名称为“productController”的bean时出错:通过字段“productRepository”表示的依赖项不满足;

荆弘伟
2023-03-14

启动应用程序上下文时出错。若要显示条件报告,请在启用“调试”的情况下重新运行应用程序。2020-08-05 09:53:05.348 错误 46991 --- [ 主] o.s.boot.Spring 应用程序: 应用程序运行失败

组织.Spring框架.豆子.工厂.不满意依赖性异常:创建名称为“产品控制器”的Bean时出错:通过字段“产品存储库”表示的不满意的依赖关系;嵌套的异常是组织.springframework.beans.factory.Bean创建异常:创建名称为“产品存储库”的 bean 时出错,该名称为“产品存储库”,定义于 com.example.cassandra.springbootcsandrademo.repository.product存储库中定义的@EnableCassandraRepositories在卡桑德拉存储库注册表上声明的存储库中定义:启用对 bean“cassandra模板”的引用,同时设置 bean 属性“cassandraTemplate”;嵌套的异常是组织.springframework.beans.factory.不满意依赖性异常:创建名称为“org.springframework.boot.autoconfigure.data.cassandra.Cassandra.DataAuto配置”的 Bean 时出错:通过构造函数参数 0 表示的不满意依赖关系;嵌套的异常是组织.springframework.beans.factory.Bean创建异常:在类路径资源中定义名称为“cassandraSession”的 Bean 时出错 [组织/Spring框架/引导/自动配置/卡桑德拉/卡桑德拉自动配置.class]:通过工厂方法进行 Bean 实例化失败;嵌套的异常是 org.springframework.beans.BeanInstantication异常: 无法实例化 [com.datastax.oss.driver.api.core.CqlSession]: 工厂方法 “cassandraSession” 抛出异常;嵌套的异常是:节点(endPoint=/127.0.0.1:9042,主机 Id=null, 哈希码= 2fe1348e): [com.datastax.oss.驱动程序.2fe1348e: [com.datastax.oss.driver.api.core.connection.连接更多): 节点(endPoint=/127.0.0.1:9042, hostId=null, 哈希码=2fe1348e): [com.datastax.oss.driver.api.core.connection.connection.连接: [s0|控制|连接...]协议初始化请求,步骤 1 (选项): 未能发送请求 (java.nio.通道.关闭通道异常)] 在组织.Spring框架.豆.工厂.注释.自动连接注释豆后处理器$自动连接字段元素.注入(自动连接注释字节后处理器.java:643) ~[Spring豆-5.2.7.RELEASE.jar:5.2.7.RELEASE] 在组织.Spring框架工作.豆.工厂.注释.注入Metadata.注入(注入元数据.java:130) ~[Spring豆-5.2.7.RELEASE.jar:5.2.7.RELEASE] 在组织.Spring框架.豆.工厂.注释.自动连接注释豆后处理器.postProcessirtys(自动连接注释豆后处理器.java:399) ~[Spring豆-5.2.7.发布.jar:5.2.7.RELEASE] 在组织.Spring框架工作.豆.工厂.支持.抽象自动连接可承载的豆子工厂.populateBean(抽象自动连接可承载的豆子工厂.java:1422) ~[Spring豆-5.2.7.发布.jar:5.2.7.发布]

共有2个答案

蓬化
2023-03-14

我今天也面临同样的问题。在我的情况下,可能是Spring靴本身的一些内部问题。我通过改变pom.xml中的spring-boot版本解决了这个问题

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>2.3.4.RELEASE</version>
    <relativePath/>     
</parent>

我把版本改成了

<version>2.0.2.RELEASE</version>

它奏效了。

柯易安
2023-03-14

从您的错误消息来看,问题是它找不到在localhost上运行的cassandra实例。

Could not reach any contact point, make sure you've provided valid addresses (showing first 1 nodes, use getAllErrors() for more): Node(endPoint=/127.0.0.1:9042, hostId=null, hashCode=2fe1348e)

如果您的主机位于本地主机以外的其他位置,则需要在配置文件中设置 spring.data.cassandra.接触点,或者设置一个 Bean 来创建 Cassandra 集群或会话(取决于您使用的是哪个版本的 Spring boot)。

 类似资料: