본문 바로가기

Spring

@ComponentScan은 무슨 역할인가요? @Autowired는 뭐 하는 아이인가요?

@ComponentScan은 @Componet가 붙은 모든 클래스를 스프링 Bean으로 등록해준다.

기본적으로 Bean의 이름은 맨 앞글자만 소문자를 사용한다. (ex. MemberService.class -> memberService)

사용자가 이름을 지정하려면 @Component("myMemberService") 이런 식으로 사용하면 된다.

 

ComponentScan을 사용하기 전에는 직접 @Bean으로 설정 정보를 작성했고, 의존 관계도 직접 명시했었다.

이제 의존관계 주입도 @Component가 붙은 클래스 안에서 해결해야 한다.

이 때, 의존관계를 주입하기 위해 @Autowired를 사용한다.

@Autowired를 지정하면 스프링 컨테이너가 자동으로 해당 스프링 빈을 찾아서 주입한다. (기본적으로 타입이 같은 빈을 찾는다. 같은 타입인 빈이 여러개인 경우 파라미터 명, 필드 명으로 찾는다)

 

1. @ComponentScan : @Component가 붙은 클래스를 뒤져서 Bean으로 모두 등록한다.

2. 생성자에 @Autowired를 지정하면, 스프링 컨테이너가 자동으로 해당 스프링 빈을 찾아서 주입해준다 : 타입이 같은 빈을 찾아서 주입한다. 이 때, 같은 타입의 빈이 여러개인 경우 : 필드 명 또는 파라미터 이름으로 추가 매칭한다.

 

 

 

스프링 핵심 원리 - 기본편 - 인프런 | 강의

스프링 입문자가 예제를 만들어가면서 스프링의 핵심 원리를 이해하고, 스프링 기본기를 확실히 다질 수 있습니다., - 강의 소개 | 인프런

www.inflearn.com

 

다음 포스팅 부터는 Spring의 DI에 대해서 알아보자!

너무 늦었다. 얼른 자야겠다! 항상 건강이 최우선!! 알겠지요?