더북(TheBook)

3.6 빈에 자동와이어링하기

스프링은 자동와이어링(autowiring)을 수행하는 다섯 가지 방식을 제공합니다.

byName: 이름에 의한 자동와이어링을 이용하면 스프링은 각 프로퍼티와 이름이 같은 빈을 찾아서 연결하려고 시도합니다. 따라서 대상 빈이 foo 프로퍼티를 가지고 있고 foo 빈이 ApplicationContext 내에 정의되어 있다면, foo 빈은 대상 빈의 foo 프로퍼티에 할당됩니다.

byType: 타입에 의한 자동와이어링을 이용하면 스프링은 자동으로 ApplicationContext에서 동일한 타입의 빈을 대상 빈의 각 프로퍼티에 연결하려고 시도합니다.

Constructor(생성자): 주입이 수정자가 아닌 생성자를 이용해 이루어진다는 점을 제외하면 타입에 의한 와이어링과 같습니다. 스프링은 생성자에서 가능한 많은 개수의 인수들을 일치시키려고 노력합니다. 따라서 빈에 하나는 String만 받아들이고, 다른 하나는 StringInteger를 받아들이는 두 개의 생성자가 있고, ApplicationContext 내에 String 타입의 빈과 Integer 타입의 빈이 존재한다면 스프링은 인자 두 개짜리 생성자를 사용합니다.

default: 스프링은 Constructor 방식과 byType 방식을 자동으로 선택합니다. 빈에 기본 생성자(인자가 없는)가 있다면 스프링은 byType 방식을 이용합니다. 그렇지 않으면 Constructor 방식을 이용합니다.

no: 이것이 기본값입니다.

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.