@Autowire

@Autowire


  • 필요한 의존 객체의 “타입”에 해당하는 빈을 찾아 주입한다.
  • 옵션
    • required: 기본 값은 true(못찾으면 애플리케이션 구동 실패)


사용할 수 있는 위치


  1. 생성자
@Service
public class BookService  { 

   BookRepository bookRepository;

   @Autowired
   public BookService(BookRepository bookRepository) {
      this.bookRepository = bookRepository;
   }
}
  1. 세터
@Service
public class BookService  { 

   BookRepository bookRepository;

   @Autowired(required = false)
   public void setBookRepository(BookRepository bookRepository) {
      this.bookRepository = bookRepository;
   }
}
  1. 필드
@Service
public class BookService  { 

   @Autowired
   BookRepository bookRepository;

}


같은 타입의 빈이 여러개 일 때


  1. @Primary
   @Repository @Primary 
   public class KeesunBookRepository implements BookRepository {
   }
  1. 해당 타입의 빈 모두 주입 받기
  2. @Qualifier (빈 이름으로 주입)
   @Service
   public class BookService  { 

       @Autowired @Qualifier("keesunBookRepository")
       BookRepository bookRepository;

   }


이윤재

이윤재
주니어 개발자 이윤재입니다. 공부한 내용을 바탕으로 기술하는 블로그 입니다.

JAVA8 - Lambda - stream api

Java8 lambda stream에 대하여 Continue reading

JAVA8 - Lambda란?

Published on July 29, 2019

NoSQL과 RDBMS의 장단점

Published on June 22, 2019