10_Spring Framework chap05-di-annotation

김지용·2023년 2월 23일
0

@Primary(우선순위설정)

Application

PokemonService

Pokemon(인터페이스)

Pikachu(피카츄)인터페이스 상속받음

@Primary 설정해서 우선순위로 설정함

Charmander(파이리)인터페이스 상속받음

Squirtle(꼬부기)인터페이스 상속받음

@Qualifier(@Primary 보다 더 우선권을 가짐)

Application

PokemonService

Pokemon(인터페이스)

Charmander(파이리)인터페이스 상속받음

Pikachu(피카츄)인터페이스 상속받음

@Primary로 설정해도 @Qualifier를가진 꼬부기가 우선권을 가진다

Squirtle(꼬부기)인터페이스 상속받음

같은 타입의 bean 여러 개 주입(List/Map(타입))

Application

PokemonService

Pokemon(인터페이스)

Charmander(파이리)인터페이스 상속받음

Pikachu(피카츄)인터페이스 상속받음

Squirtle(꼬부기)인터페이스 상속받음

@Resource

@Resource는 bean의 이름으로 주입 받는다 하지만 이름이 일치하지않으면 타입으로 주입 받는데
동일한 타입이 있는경우에는 주입하지못함

사용하려면 라이브러리 다운

1. 같은 타입의 bean이 여러 개 있는 상황

Application

PokemonService

Pokemon(인터페이스)

Charmander(파이리)인터페이스 상속받음

Pikachu(피카츄)인터페이스 상속받음

Squirtle(꼬부기)인터페이스 상속받음

2. 같은 타입의 bean이 1개인 상황(생성자X/setter O)

Application

PokemonService

피카츄 파이리 어노테이션주석

Squirtle(꼬부기)인터페이스 상속받음

0개의 댓글