Spring/스프링 입문

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

개발게발 2023. 3. 1. 23:05

 

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 하위 패키지들을 컴포넌트 스캔하여 스프링 빈에 등록

 

출처 : https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%EC%9E%85%EB%AC%B8-%EC%8A%A4%ED%94%84%EB%A7%81%EB%B6%80%ED%8A%B8

 

[무료] 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술 - 인프런 | 강의

스프링 입문자가 예제를 만들어가면서 스프링 웹 애플리케이션 개발 전반을 빠르게 학습할 수 있습니다., - 강의 소개 | 인프런

www.inflearn.com