본문 바로가기
Backend/문제해결

[Error] A component required a bean named 'redisTemplate' that could not be found.

by 박상윤 2023. 12. 17.

문제 상황

SpringBoot와 Redis를 연동하는데 하나의 Redis서버만 연동하는 것이 아닌 2개의 Redis 서버를 연동하는 상황

 

 

@Bean
    public RedisTemplate<String, String> redisTemplate(){
        RedisTemplate<String,String> redisTemplate = new RedisTemplate<>();
        redisTemplate.setKeySerializer(new StringRedisSerializer());
        redisTemplate.setValueSerializer(new StringRedisSerializer());
        redisTemplate.setConnectionFactory(redisConnectionFactoryToken());

        return redisTemplate;
    }

    @Bean
    public RedisTemplate<String, String> redisTemplateAuthNumber(){
        RedisTemplate<String,String> redisTemplate = new RedisTemplate<>();
        redisTemplate.setKeySerializer(new StringRedisSerializer());
        redisTemplate.setValueSerializer(new StringRedisSerializer());
        redisTemplate.setConnectionFactory(redisConnectionFactoryAuthenticationNumber());

        return redisTemplate;
    }

 

redis 템플릿의 함수 이름을 redisTemplate로 변경해주었다.

기존 첫번째 함수의 이름은 redisTemplateRefresh였었다. 

 

Spring에서 RedisTemplate로 이름 지어진 함수의 이름을 내부적으로 찾는 것 같다.