error

[에러해결] A component required a bean named 'redisTemplate' that could not be found.

!쪼렙조햄 2021. 5. 6. 18:11
반응형

현재 상황

한개의 spring boot 에 두개의 redis를 연결해야 하는 상황
기존 코드는 한개의 redis 만 연결해 두었으나 변경하게 되면서,

config/하위 폴더에

  • RedisDevConfig
  • RedisRealConfig
    이렇게 두개의 Config 를 만들어두게 되었다
    @Bean(name = ["devRedisConnectionFactory"])
    @Qualifier("devRedisConnectionFactory") redisConnectionFactory: RedisConnectionFactory

이렇게 Bean 이름을 각각 명시해주고, Qualifier 로 해당 이름의 빈을 가져와서 쓰면 될것이라고 생각했다.

오류 발생

org.springframework.beans.factory.NoSuchBeanDefinitionException: No bean named 'redisTemplate' available

Description:

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


Action:

Consider defining a bean named 'redisTemplate' in your configuration.

해결방법

RedisTemplate 타입의 빈 두개를 각각

  • devRedisTemplate
  • realRedisTemplate
    위 두가지 이름으로 만들어줬었는데, redis 관련 라이브러리에서 redisTemplate 이라는 이름을 찾는것으로 보인다.
    결국 devRedisTemplate -> redisTemplate 이름 변경하였다.
    이름은 원래대로 dev/real로 사용하고 문제를 해결하는 방법은 없었을까?
반응형