컴포넌트 스캔과 의존관계 자동 주입 시작하기
@ComponentScan
컴포넌트 스캔 사용하기 위한 어노테이션
@Component 어노테이션이 붙은 클래스를 스캔해 스프링 빈으로 등록
/*
기존 AppConfig과는 다르게 @Bean으로 등록한 클래스 1도 없음
컴포넌트 스캔 사용시 @Configuration 붙은 설정 정보도 자동 등록됨
따라서 excludeFilters를 이용해 스캔 대상에서 제외시킴
실무에선 설정정보를 컴포넌트 스캔 대상에서 제외하지 않지만
강의에선 예제코드를 최대한 남기고 유지하기 위함..
*/
@Configuration
@ComponentScan(
excludeFilters = @ComponentScan.Filter(type = FilterType.ANNOTATION, classes = Configuration.class)
)
public class AutoAppConfig {
}
@Autowired
자동 의존관계 주입, 생성자 부분에 작성
@Component를 사용함으로써 빈 설정 및 의존관계 주입이 없어짐
⇒ 클래스 안에서 @Autowired 사용으로 이 부분 해결
/* 일부 예시 */
@Autowired
public MemberServiceImpl(MemberRepository memberRepository) {
this.memberRepository = memberRepository;
}

@ComponentScan
@Component가 붙은 모든 클래스를 스프링 빈으로 등록
스프링 빈’s 기본 이름은 클래스명 사용하되 맨 앞글자만 소문자 —————————————————————————————— 기본 | MemberServiceImpl 일 경우 memberServiceImpl 직접 지정 | @Component(”memberService2”)과 같이 이름부여
——————————————————————————————