-
[김영한 스프링] 9. 컴포넌트 스캔과 자동 의존관계 설정Spring/스프링 입문 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 하위 패키지들을 컴포넌트 스캔하여 스프링 빈에 등록
'Spring > 스프링 입문' 카테고리의 다른 글
[김영한 스프링] 11. 회원 웹 기능 - 홈 화면 추가, 등록 (0) 2023.03.15 [김영한 스프링] 10. 자바 코드로 직접 스프링 빈 등록하기 (0) 2023.03.15 [김영한 스프링] 8. 회원 서비스 테스트 (0) 2023.02.28 [김영한 스프링] 7. 회원 서비스 개발 (0) 2023.02.27 [김영한 스프링] 6. 회원 리포지토리 테스트 케이스 작성 (0) 2023.02.16