Java spring 기초3

BioBeBE·2022년 10월 12일
0

자바

목록 보기
8/8

빈 수동 등록 >> 자동 등록


AppConfig 클래스에서 @Bean으로 수동등록하던 것들을


Config Class + @ComponentScan
Bean Class + @Component 조합으로 자동으로 등록하게 해줌

빈 자동등록 + 의존성 수동주입


@ComponentScan으로 등록한 빈을 ApplicationContext + getBean으로 수동 주입

빈 자동등록 + 의존성 자동주입(@Autowired)


생성자, setter, 필드, 메소드 주입을 할 수 있지만 보통은 생성자로 주입
생성자 주입의 장점

1. 컴파일 에러를 유도 할 수 있음
2. 프레임워크, 라이브러리를 제외한 순수한 자바코드로 테스트시에 더미데이터 넣기 쉬움

생성자로 주입시 빈 객체 생성 + 의존성 주입이 동시에 이뤄짐

필요한 빈이 한개, 조회는 두 개이상이 될때 해결책

  1. @Autowired 의존성 주입할 객체 필드명을 필요한 구체클래스명으로 정의
  2. 구체 클래스 + @Qualifier, @Autowired + @Qaulifier
  3. 구체 클래스 + @Primary

조회하고싶은 빈이 두 개이상일 때

Map, List로 빈 조회해서 사용

출처 : 인프런 - 우아한 형제들 기술이사 김영한의 스프링 완전 정복 (스프링 핵심원리 - 기본 편)

profile
개발자지망생

0개의 댓글