스프링 면접 2

yshjft·2022년 11월 27일
0

Spring, JPA

목록 보기
5/16

DI 우선 순위

(@Autowired 기준)

  • (보통) : 타입 → 이름

  • (다수의 동일한 타입의 빈) : @Qualifier@Primary

  • (혼용해서 사용하는 경우) : 타입 → @Qualifier@Primary → 이름

  • @Qualifier
    여러 빈을 찾았을 때, 그 빈들 중 어떤 빈을 선택할지 기준을 부여

  • @Primary
    기본 빈 설정

DI 우선순위 관련1
DI 우선순위 관련2
DI 우선순위 관련3

패키지가 다른데 같은 이름의 빈들은 DI할 때 우선순위

  • 같은 이름의 Bean
    • Bean 등록시 클래스 또는 메서드 이름이 Bean의 ID가 되기 때문에 같은 이름의 Bean을 등록하면 오류를 뿜어낸다.
    • Bean 이름을 설정하여 해당 문제를 해결할 수 있다.
      @Component(“~~~”), @Service(“~~~”), @Bean(“~~~”)
      같은 이름의 Bean 관련1
      같은 이름의 Bean 관련2

(참고) @Resource

@Autowired

  • 타입으로 Bean을 지정
  • 생성자, 필드, 메서드에 모두 적용 가능

@Resource

  • Name으로 Bean을 지정
  • 필드, 메서드에 적용
  • @Resource(name = “~~~”)
    • 해당 이름을 가진 Bean을 찾아 주입한다.
    • name 속성이 없으면 타입으로 찾는다.
    • 같은 이름을 가진 Bean을 찾는다.
    • @Qualifier 이용

profile
꾸준히 나아가자 🐢

0개의 댓글