인프런 커뮤니티 질문&답변

endeavor님의 프로필 이미지
endeavor

작성한 질문수

토비의 스프링 부트 - 이해와 원리

DataSource 자동 구성 클래스

메소드 빈주입

해결된 질문

작성

·

793

0

 안녕하세요 토비님 강의 잘듣고있습니다!

다름이 아니라 강의 내용중 메서드 파라미터에 빈을 주입 받아 사용하는 것에 궁금증이 생겨 질문드립니다.

일반 적으로 빈을 주입받아 사용할 때 @Autowired나 생성자 등으로 초기화를 해주었는데, 위의 코드의 매개변수는 그런 과정이 없이 바로 빈을 주입받는 것인가요 ?

 

 

답변 1

2

토비님의 프로필 이미지
토비
지식공유자

일반 빈 클래스에서 메소드 파라미터를 통해서 의존오브젝트를 주입 받으려면 @Autowired가 필요한 것이 맞습니다. 다만, 단일 생성자인 경우는 @Autowired를 생략해도 됩니다.

@Bean 메소드는 일반 빈 클래스의 생성자 주입과 동일한 방식을 지원합니다. 빈 생성을 위해서 의존 오브젝트가 필요하다는 전제가 @Bean 애노테이션을 통해서 드러나기 때문에, 빈 클래스의 생성자와 유사하게 의존 오브젝트 주입이 파라미터를 통해서 일어나는 것이 자연스럽기 때문에 그렇게 설계되었습니다.

관련된 설명은 레퍼런스 문서에 나와있습니다.

https://docs.spring.io/spring-framework/docs/6.0.x/reference/html/core.html#beans-java-dependencies

 

endeavor님의 프로필 이미지
endeavor

작성한 질문수

질문하기