컴포넌트 스캔과 의존관계 자동 주입 시작하기

최근에 스프링부트를 쓰면서 더더욱 많이 쓰는 기능들입니다.

코드로 컴포넌트 스캔과 의존관계 자동 주입을 알아보자.

먼저 기존 AppConfig.java는 과거 코드와 테스트를 유지하기 위해 남겨두고, 새로운 AutoAppConfig.java를 만듭니다.

Untitled

package hello.core;

import org.springframework.context.annotation.ComponentScan;
import org.springframework.context.annotation.Configuration;
import org.springframework.context.annotation.FilterType;

@Configuration //...1
@ComponentScan( //...2
				//...3
         excludeFilters = @ComponentScan.Filter(type = FilterType.ANNOTATION, classes = Configuration.class)
)
public class AutoAppConfig {

}
  1. 설정 정보이니까 @Configuration 적어줍니다.

  2. @ComponentScan

  3. excludeFilters = @ComponentScan.Filter(type = FilterType.ANNOTATION, classes = Configuration.class)

<aside> 🌟

[TIP]

Shift + Command + F

파일에서 원하는 단어를 검색할 수 있습니다.

</aside>

@Component 애노테이션 붙이기

컴포넌트 스캔은 이름 그대로 @Component 애노테이션이 붙은 클래스를 스캔해서 스프링 빈으로 등록한다고 했습니다. @Component 를 붙여줍니다.

MemoryMemberRepository @Component 추가

@Component
public class MemoryMemberRepository implements MemberRepository {}