스프링 컴포넌트 스캔
@Configuration
@ComponentScan(
excludeFilters = @ComponentScan.Filter(type = ANNOTATION, classes = Configuration.class)
)
public class AutoAppConfig {
}@Component
public class MemoryMemberRepository implements MemberRepository{ ... }
@Component
public class RateDiscountPolicy implements DiscountPolicy{ ... }
@Component
public class MemberServiceImpl implements MemberService {
private final MemberRepository memberRepository;
@Autowired
public MemberServiceImpl(MemberRepository memberRepository) {
this.memberRepository = memberRepository;
}
}
@Component
public class OrderServiceImpl implements OrderService {
private final MemberRepository memberRepository;
private final DiscountPolicy discountPolicy;
@Autowired
public OrderServiceImpl(MemberRepository memberRepository, DiscountPolicy discountPolicy) {
this.memberRepository = memberRepository;
this.discountPolicy = discountPolicy;
}
}컴포넌트 스캔 동작 방식


컴포넌트 스캔 탐색 위치
컴포넌트 스캔 기본 대상
필터
빈 등록 충돌
Last updated