반응형
Spring Bean을 등록하는 방법에는 2가지가 있다.
- component를 추가해서 spring이 알아서 찾도록 하는 방법과
- java code를 작성해서 spring아 등록해줘. 라고 이야기하는 방법
1. Component annotation ( 컴포넌트 스캔 및 자동 의존관계 설정)
Spring이 뜰 때, Spring Container라는 통이 생김
이때 @Controller가 있으면 해당 객체를 생성해서 Container에 넣어서 관리
(= Spring Container에서 Spring Bean이 관리됨)
1) Component Scan
@Controller, @Service, @Repository 등 Spring이 올라올때
Component Annotation이 있으면 Spring Container에 등록
2) 자동 의존관계 설정
@Autowired를 사용해서 component끼리 서로 연결해줌
@Controller
public class MemberController {
private final MemberService memberService;
@Autowired
public MemberController(MemberService memberService) { //Dependency Injection
this.memberService = memberService;
}
}
Component를 등록하지 않으면 다음과 같은 오류 발생
해당 오류 확인 시, 컴포넌트 등록여부 확인!
Consider defining a bean of type 'hello.hellospring.service.MemberService' in your configuration.
출처 | 인프런 / 스프링 입문 - 코드로 배우는 스프링 부트, 웹 MVC, DB 접근 기술(김영한)
반응형