生菜或绝地之间的Spring自动配置优先级

生菜或绝地之间的Spring自动配置优先级,spring,spring-boot,redis,jedis,lettuce,Spring,Spring Boot,Redis,Jedis,Lettuce,我想使用莴苣作为Redis客户机,这是SpringBootStarter数据Redis的默认依赖项。然而,我从另一个以纯Java代码编写的组件(没有Spring)继承了绝地作为依赖项。由于存在JedisConnectionFactory,因此在初始化LettuceConnectionFactory时会导致冲突 在确保LettuceConnectionFactory为我自己的代码初始化的同时,我如何保持Jedis的依赖性以供其他组件使用?在我的服务中使用LetticeConnectionFacto

我想使用莴苣作为Redis客户机,这是SpringBootStarter数据Redis的默认依赖项。然而,我从另一个以纯Java代码编写的组件(没有Spring)继承了绝地作为依赖项。由于存在JedisConnectionFactory,因此在初始化LettuceConnectionFactory时会导致冲突

在确保LettuceConnectionFactory为我自己的代码初始化的同时,我如何保持Jedis的依赖性以供其他组件使用?在我的服务中使用LetticeConnectionFactory的主要原因是反应式编程。 这两个连接工厂都配置为通过重新自动配置进行初始化,没有优先级选项


您可以通过创建自己的
@Configuration
类并在其中添加新的
@Bean
来覆盖RedisConnectionFactory

例如:

@Bean
RedisConnectionFactory myLettuceConnectionFactory(){
//您的设置。。。。
新生菜连接工厂();
}
然后使用myLettuceConnectionFactorybean设置RedisTemplate
@bean

@Bean
公共RedisTemplate RedisTemplate(){
最终RedisTemplate=新RedisTemplate();
setConnectionFactory(myLettuceConnectionFactory());
//其他设置。。。
返回模板;
}