Spring Data Jpa 在spring-boot中添加Redis(spring-boot-starter-data-redis)依赖后出错

ulmd4ohb  于 2023-10-20  发布在  Spring
关注(0)|答案(2)|浏览(150)

当我将下面的依赖项添加到pom.xml中时,

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-redis</artifactId>
</dependency>

下面的错误来了
2018-05-31 12:02:38.217 INFO 1416 -[ost-startStop-1] j. LocalContainerLogistyManagerFactoryBean:已初始化持久化单元“default”的JPA安全管理器工厂2018-05-31 12:02:39.233错误1416 -[ost-startStop-1] o. s. b.c. embedded.tomcat.TomcatStarter:启动Tomcat上下文时出错。异常:org. springframework. beans. factory. UnsatisfiedDependencyException。消息:在com.amd.apps.employee.cloud中定义的名称为“registerCorePageControllerServlet”的Bean创建时出错。AddonApplication:通过方法“registerCorePageControllerServlet”参数1表示的未满足依赖;嵌套异常为org.springframework.beans.factory.UnsatisfiedDependencyException:创建在URL [jar:file:/C:/Users/shiv/AppData/Local/Temp/employee.cloud-1.0.0.jar-spring-boot-libs-1766ddea-c2ae-424e-9565-d00395eb0d5c/core.cloud-1.0.0.jar!/com/amd/apps/cloud/service/common/AuthenticationContextImpl.class]:通过构造器参数3表示的不满足依赖;嵌套异常为org.springframework.beans.factory.UnsatisfiedDependencyException:创建在URL [jar:file:/C:/Users/shiv/AppData/Local/Temp/employee.cloud-1.0.0.jar-spring-boot-libs-1766 ddea-c2 ae-424 e-9565-d 00395 eb 0 d5 c/core.cloud-1.0.0.jar]中定义的名为“companyServiceImpl”的Bean时出错!/com/amd/apps/cloud/service/directory/impl/CompanyServiceImpl.class]:通过构造函数参数1表示的未满足依赖项;嵌套异常为org.springframework.beans.factory.NoSuchBeanDefinitionException:没有类型为“com.atlassian.connect.spring.AtlassianHostRepository”的合格Bean可用:预期至少有1个符合autowire候选条件的bean。依赖关系注解:{}
但是,如果我删除这个依赖,一切都工作得很好。Redis服务已配置、运行并可访问。然而,我也看到了下面的消息,这是我在正常执行期间看不到的。
2018-05-31 12:02:28.955 INFO 1416 - [ main] .s.d.r.c. RepositoryBractionDelegate:找到多个Spring Data模块,进入严格仓库配置模式!2018-05-31 12:02:29.071 INFO 1416 - [ main] . RepositoryExtensionSupport:Spring Data JPA -无法安全地识别存储库候选接口com. atlassian. connect. spring. AtlassianHostRepository的存储分配。2018-05-31 12:02:29.171 INFO 1416 - [ main] .s.d.r.c. RepositoryBractionDelegate:找到多个Spring Data模块,进入严格仓库配置模式!

mwecs4sa

mwecs4sa1#

此问题是由RedisRepositoriesAutoConfiguration引起的。它只使用默认配置重复注册EnableRedisRepositories,其中basePackages为空。要解决这个问题,您可以通过以下方式排除RedisRepositoriesAutoConfiguration:

@SpringBootApplication(
    exclude = { RedisRepositoriesAutoConfiguration.class })
wgmfuz8q

wgmfuz8q2#

您遇到的消息不是错误;这只是Redis的一个建议。它建议您使用Redis缓存配置仓库。如果你决定在仓库中实现Redis支持,你可以忽略这条消息,它会在初始化仓库后消失。
但是,如果你不想在仓库中添加Redis支持,而是想在启动应用程序时从控制台中删除这些建议,你可以使用下面的代码片段。将其放在应用程序的主类中:

@EnableAutoConfiguration(exclude = RedisRepositoriesAutoConfiguration.class)

这段代码将RedisRepositoriesAutoConfiguration类从自动配置过程中排除,有效地消除了控制台输出中与Redis相关的建议。

相关问题