@ComponentScan은 @Componet가 붙은 모든 클래스를 스프링 Bean으로 등록해준다.
기본적으로 Bean의 이름은 맨 앞글자만 소문자를 사용한다. (ex. MemberService.class -> memberService)
사용자가 이름을 지정하려면 @Component("myMemberService") 이런 식으로 사용하면 된다.
ComponentScan을 사용하기 전에는 직접 @Bean으로 설정 정보를 작성했고, 의존 관계도 직접 명시했었다.
이제 의존관계 주입도 @Component가 붙은 클래스 안에서 해결해야 한다.
이 때, 의존관계를 주입하기 위해 @Autowired를 사용한다.
@Autowired를 지정하면 스프링 컨테이너가 자동으로 해당 스프링 빈을 찾아서 주입한다. (기본적으로 타입이 같은 빈을 찾는다. 같은 타입인 빈이 여러개인 경우 파라미터 명, 필드 명으로 찾는다)
1. @ComponentScan : @Component가 붙은 클래스를 뒤져서 Bean으로 모두 등록한다.
2. 생성자에 @Autowired를 지정하면, 스프링 컨테이너가 자동으로 해당 스프링 빈을 찾아서 주입해준다 : 타입이 같은 빈을 찾아서 주입한다. 이 때, 같은 타입의 빈이 여러개인 경우 : 필드 명 또는 파라미터 이름으로 추가 매칭한다.
다음 포스팅 부터는 Spring의 DI에 대해서 알아보자!
너무 늦었다. 얼른 자야겠다! 항상 건강이 최우선!! 알겠지요?
'Spring' 카테고리의 다른 글
스프링 DB : JDBC는 뭐에요? (2) | 2023.04.24 |
---|---|
의존관계 주입 방법 중 생성자 주입에 대해서 설명해주세요 (3) | 2023.04.04 |
Bean이 뭐에요? 그렇다면 객체는 뭔가요? 설명해주세요. (2) | 2023.03.09 |
Spring bean 조회 시 같은 타입이 두 개 이상인 경우는 어떻게 해요~? (2) | 2023.03.06 |
Spring에 등록된 Bean들을 조회해보자~ (2) | 2023.02.21 |