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

테케이님의 프로필 이미지

작성한 질문수

스프링 핵심 원리 - 기본편

빈 생성과 의존관계 주입시점에 대하여

21.01.25 20:36 작성

·

260

0

헷갈리는 부분이 있어서 과정을 제대로 이해한게 맞는지 궁금합니다! A빈을 먼저 접근하고, A가 B를, B가 C를 의존한다는 가정입니다. 생성자 주입은 객체를 생성하면서 자연스럽게 생성자를 부르니까 1.A빈을 등록하기 전, 생성자의 파라미터에 있는 인자 B가 빈으로 등록됐는지 확인 2.B가 빈 등록이 되어있으면 의존관계 주입, 안되어 있으면 그 B를 찾아감 3.B빈을 등록하기 전, 생성자의 파라미터에 있는 인자 C가 빈으로 등록됐는지 확인 4.C가 빈 등록이 되어있으면 의존관계 주입, 안되면 C로 찾아감 5.C빈은 주입할 의존관계가 없음으로 C빈 등록 6.B빈 등록, C의존관계 주입 7.A빈 등록, B의존관계 주입 이렇게 이해를 했고 수정자 주입이나 필드 주입의 경우 1.A빈을 B빈이 없어도 우선 등록 2.B빈을 C빈이 없어도 우선 등록 3.C빈을 등록 4.각각의 의존관계를 쭉 주입 이렇게 이해를 했는데 맞을까요 ..? 각각의 매커니즘을 제대로 이해한 게 맞는지 의문이 들어 질문드립니다!

답변 2

1

하동구님의 프로필 이미지

2021. 08. 20. 16:54

https://www.inflearn.com/questions/89770

링크의 2번에 질문과 동일하여 다른분들을 위해 올려드립니다~

결과론적으로 생성자주입 부분은 질문자의 생각이 맞다고 생각합니다 (틀리다면 지적해주시면 감사하겠습니다)

김영한님의 프로필 이미지
김영한
지식공유자

2021. 08. 21. 20:05

고맙습니다. 동구님^^

0

김영한님의 프로필 이미지
김영한
지식공유자

2021. 01. 25. 23:09

안녕하세요 테케이님

개념적으로 빈을 먼저 생성하고, 그 다음에 의존관계 주입을 한다고 2가지로 나누어 생각하시면 됩니다.

물론 이 과정에서 생성자 주입이나 또 다른 의존관계가 먼저 필요할 수 있습니다. 이런 부분들은 스프링이 내부에서 순서를 최적화 해준다고 생각하시면 됩니다.

감사합니다.