我尝试为我的存储测试cassandra,并且可能从mongo更改它。 我无法将CassandraTemplate自动装配到我的服务中。
Caused by: org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type [org.springframework.data.cassandra.core.CassandraTemplate] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
我测试通过xml和@Configuration创建bean,这个应用程序是一个很大的单片应用程序,依赖于几个spring-data项目,我不知道这是否与问题有关
mvn dependency:tree | grep spring-data
[INFO] +- org.springframework.data:spring-data-jpa:jar:1.4.1.RELEASE:compile
[INFO] | \- org.springframework.data:spring-data-commons:jar:1.6.1.RELEASE:compile
[INFO] +- org.springframework.data:spring-data-mongodb:jar:1.3.1.RELEASE:compile
[INFO] +- org.springframework.data:spring-data-cassandra:jar:1.4.4.RELEASE:compile
当我调试@Configuration创建时,我看到我最终在Bean创建方法中但仍然我的服务无法自动装配该bean
@Bean
public CassandraOperations cassandraTemplate() throws Exception {
return new CassandraTemplate(session().getObject());
}
@Autowired
public CacheServiceScylla(CassandraTemplate cassandraTemplate) {
this.cassandraTemplate = cassandraTemplate;
}
对于使用spring-boot构建的另一个应用程序,我没有任何问题。