강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

히히님의 프로필 이미지
히히

작성한 질문수

스프링 핵심 원리 - 기본편

다양한 의존관계 주입 방법

필드 주입 테스트 시 AppConfig의 내용을 고치는 이유

작성

·

289

1

[질문 내용]
필드 주입 테스트를 돌리는 과정에서 AppConfig 파일을 수정하는 부분에 의문점이 있습니다.
AutoAppConfigTest를 돌리는데, AppConfig에서 오류가 발생하는 이유가 무엇일까요?
 
코드만 보면, 매개변수가 있는 생성자를 없앴는데 매개 변수가 포함된 생성자를 호출해서 에러가 발생했습니다.
코드로는 이해가 되지만, AutoAppConfig는 excludeFilters를 사용해 Configuration 파일들을 빈 등록을 제외 시켰는데요.
스프링이 AppConfig파일이 스프링 빈이 아닌데도 코드 전체를 컴파일 해서 생기는 오류인가요?
 
아...쓰다보니... 조금씩 정리가 되는데
@ComponentScan이 빈으로 만들 class를 찾기 위해 패키지 파일들을 모두 스캔합니다. 그렇기 때문에 패키지의 모든 파일들이 컴파일 했을 때 아무런 문제가 없는 상태가 되어야 하는거죠?
 

퀴즈

필드 주입(Field Injection) 방식이 일반적으로 권장되지 않는 이유는 무엇일까요?

불변성을 보장하기 어려워서

의존성 변경이 쉬워서

순수 Java 코드로 테스트하기 어려워서

설정 코드 작성이 복잡해서

답변 1

1

안녕하세요. wjdgmllee0423님, 공식 서포터즈 David입니다.

테스트 진행 전 빌드를 실행하게 되는데, 말씀하신대로 생성자 부재로 인한 컴파일 오류가 발생하기 때문입니다.

감사합니다.

히히님의 프로필 이미지
히히

작성한 질문수

질문하기