[김영한 스프링] 9. 컴포넌트 스캔과 자동 의존관계 설정


controller/MemberController 생성

직접적으로 new MemberService()를 생성해서 사용할 경우 다른 controller에서 MemberService를 사용 할 경우도 있으니 스프링 컨테이너에 등록하여 사용하도록 변경

@Autowired
- memberService를 스프링 컨테이너에 있는 memberService와 연결시켜줌

App 실행하면 에러 발생


@Service
- 스프링 컨테이너에 MemberService를 등록해줌

@Repository 추가


MemberService에도 @Autowired 추가
memberRepository가 필요하니 스프링 컨테이너에 있는 memberRepository(MemoryMemberRepository)를 연결시겨줌

App 정상 실행


@Controller, @Service, @Repository가 아닌 @Component를 적어야 하지만 @Component가 포함되어 있기 때문에 가능
스프링이 올라올때 컴포넌트와 관련된 어노테이션이 있으면 스프링이 객체를 하나씩 생성해서 스프링 컨테이너에 등록

결과적으로 HelloSpringApplocation을 실행시키기 때문에 hello.hellospring 하위 패키지들을 컴포넌트 스캔하여 스프링 빈에 등록
[무료] 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 인프런 | 강의
스프링 입문자가 예제를 만들어가면서 스프링 웹 애플리케이션 개발 전반을 빠르게 학습할 수 있습니다., - 강의 소개 | 인프런
www.inflearn.com