지금까지 자바 코드의 @Bean
이나 XML의 등을 통해 설정 정보에 Spring Bean을 등록했다. -> 반복 및 누락 이슈
Spring은 설정 정보가 없어도 @ComponentScan
을 통해 자동으로 Spring Bean을 등록한다.
의존관계는 @Autowired
를 통해 자동으로 주입한다.
@Component
public class MemberServiceImpl implements MemberService {
private final MemberRepository memberRepository;
@Autowired
public MemberServiceImpl(MemberRepository memberRepository) {
this.memberRepository = memberRepository;
}
}
@ComponentScan
은 @Component
가 붙은 모든 class를 Spring Bean으로 등록한다.빈 이름 기본 전략
: MemberServiceImpl 클래스 -> memberServiceImpl빈 이름 직접 지정
: @Component("memberService2")@Autowired
를 지정하면, Spring Container가 자동으로 해당 Spring Bean을 찾아서 주입한다.getBean(MemberRepository.class)
와 같은 방식Reference
인프런 - 김영한님의 [스프링 핵심 원리 - 기본편] 수강 후 강의노트를 바탕으로 작성한 글입니다.