각진 세상에 둥근 춤을 추자

"Cannot find bean with qualifier 'userLoginService'" 본문

Error

"Cannot find bean with qualifier 'userLoginService'"

circle.j 2025. 4. 1. 15:12

❗ 문제 상황 

SecurityConfiguration 클래스에서 아래와 같이 @Qualifier("userLoginService")를 통해 UserDetailsService 구현체인 UserLoginService를 주입하려 했지만,

@Bean
public SecurityFilterChain securityFilterChain(
        HttpSecurity httpSecurity,
        @Qualifier("userLoginService") UserDetailsService userDetailsService
) throws Exception {
    ...
}

 

다음과 같은 오류가 발생함

Cannot find bean with qualifier 'userLoginService'

 

 

🧠 원인 분석

해당 에러는 Spring이 userLoginService라는 이름을 가진 Bean을 찾지 못해서 발생한 것이다.
즉, 아래의 UserLoginService 클래스가 스프링 컴포넌트 스캔 대상이 아니었기 때문이다.

 

@SpringBootApplication이 선언된 클래스가 kr.co.cplug 바깥쪽 패키지에 있었고, 기본 설정으로는 자기 패키지 하위만 스캔하기 때문에 kr.co.cplug.service.UserLoginService는 스캔되지 않았던 것이다.

 

✅ 해결 방법

@SpringBootApplication(scanBasePackages = "kr.co.cplug")

@SpringBootApplication에 scanBasePackages 속성을 명시함으로써,
Spring이 kr.co.cplug 하위 전체 패키지를 컴포넌트 스캔 대상으로 인식하게 됨.