首页 文章

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

提问于
浏览
1

我们的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

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

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

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

相关问题