@Autowire
@Autowire
- 필요한 의존 객체의 “타입”에 해당하는 빈을 찾아 주입한다.
- 옵션
- required: 기본 값은 true(못찾으면 애플리케이션 구동 실패)
사용할 수 있는 위치
- 생성자
@Service
public class BookService {
BookRepository bookRepository;
@Autowired
public BookService(BookRepository bookRepository) {
this.bookRepository = bookRepository;
}
}
- 세터
@Service
public class BookService {
BookRepository bookRepository;
@Autowired(required = false)
public void setBookRepository(BookRepository bookRepository) {
this.bookRepository = bookRepository;
}
}
- 필드
@Service
public class BookService {
@Autowired
BookRepository bookRepository;
}
같은 타입의 빈이 여러개 일 때
- @Primary
@Repository @Primary
public class KeesunBookRepository implements BookRepository {
}
- 해당 타입의 빈 모두 주입 받기
- @Qualifier (빈 이름으로 주입)
@Service
public class BookService {
@Autowired @Qualifier("keesunBookRepository")
BookRepository bookRepository;
}