是否可以在beans.xml中手动连接Spring Data Redis存储库?

时间:2016-10-06 23:22:33

标签: spring-boot spring-data-redis

我们的Spring Boot Test套件使用专门用于测试的bean xml文件运行(@ContextConfiguration(locations = {" classpath:site-beans-test.xml"}))。

我们一直在使用Spring Data JPA,只是添加了Spring Data Redis(1.7.2)。我有一个扩展CrudRepository的@Repository接口,其中Token是一个用@RedisHash注释的类。

在没有测试的情况下构建时(-Dmaven.test.skip = true),这很正常,但是在运行测试时它们会失败:

NoSuchBeanDefinitionException: No qualifying bean of type [com.company.service.domain.redis.repository.TokenRepository] found for dependency: expected at least 1 bean which qualifies as autowire candidate for this dependency

使用Spring Data JPA,可以使用<jpa:repositories base-package="..." />标记来正确连接存储库代理。

有没有办法为Spring Data Redis存储库执行此操作?

1 个答案:

答案 0 :(得分:0)

Spring Data Redis使用@EnableRedisRepositories()注释来配置redis存储库的位置。它可以用作:

@Configuration
@EnableRedisRepositories(basePackages = "com.orm.repo")
public class RedisConfiguration {

}

这将使您能够从Redis存储库中分离JPA存储库。 这也可用于解决: 使用JPA存储库时Did you forget to provide one using @Id? spring-data-redis尝试加载注释为@Repository的其他对象。