강의

멘토링

커뮤니티

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

작성자 없음

작성자 정보가 삭제된 글입니다.

스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술

컴포넌트 스캔과 자동 의존관계 설정

intellij가 error를 잡지 못합니다....

작성

·

443

0

[질문 내용]

아래 스크린샷과 같이 intellij 에서 @Service @Repository 어노테이션을 달지 않았음에도 Controller에서 에러를 표시하지 않습니다..
실행시에는 에러를 잡아내서 강의 진행에는 무리가 없으나, 혹시 이유를 알고싶어서 질문합니다...
 
1. 아직 @Service 를 추가하기 전이나,
 
2. intellij가 error 경고를 띄우지 않음
 
3. 실행시에는 에러를 잘 잡아냅니다.

답변 1

0

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

.
자동주입은 런타임(프로그램 실행시)에 발생합니다.

따라서 생성자의 파라미터로 전달될 MemberService는 런타임에 결정됩니다.

그러므로 컴파일타임이 아닌 런타임에 에러를 발생시키는 것입니다.

또한 @Autowired가 어떻게 동작하는지 아셔야 합니다.

@Service에 의해 MemberService가 빈으로 등록되어야

@Autowired에 의해 MemberService는 MemberController 생성자의 파라미터로 주입될 것입니다.

@Service 애너테이션을 붙이지 않으셨기 때문에 MemberService는 빈으로 등록되지 못했고 @Autowired에 의해 MemberService 빈을 찾을 때 MemberService 빈이 존재하지 않기 때문에 에러가 발생하는 것입니다.

.
감사합니다.

해당 경고는 community 버전에서는 지원하지 않는 것으로 보이네요.

작성자 없음

작성자 정보가 삭제된 글입니다.

질문하기