강의

멘토링

로드맵

Inflearn Community Q&A

tj38280950's profile image
tj38280950

asked

Spring-based REST API development

생성자를 통한 빈 주입시 장점이 무엇인가요?

Written on

·

207

0

기존에 @Autowired를 변수에 사용하여 간결하게 진을 주입받을 수 있다고 생각했는데, 굳이 생성자까지 만들어가면서 빈을 주입하면 생기는 이점이 무엇이 있을까요?

생성자를 통한 주입이 좋은 점이 있기 때문에 나온 것이라 생각하는데 굳이 코드의 길이를 늘려가면서 해야하는 이유가 무엇일까요???

springrest-apijava

Answer 2

0

tj38280950님의 프로필 이미지
tj38280950
Questioner

아하 답변감사합니다!

0

whiteship님의 프로필 이미지
whiteship
Instructor

만약에 해당 의존성이 필수라고 가정해보죠. 즉 A를 만들 때 B가 반드시 A에 들어있어야만 하는 경우. 그런 경우라면 생성자로 주입을 받는게 말이 되고 자연스럽습니다. 멤버 변수로 주입 받는 경우에는 필드 주입이니까 사실상 B가 없어도 A 객체를 만들 수 있게 되는데 결코 적절한 상황은 아니죠.

물론 뭐 현실적으로는 A객체를 직접 만들 일도 없고, 스프링이 만들어 주니까. 그리고 @Autowired도 기본값이 required=true기 때문에 B가 없으면 A 만들다 에러가 나긴 하겠지만요.

tj38280950's profile image
tj38280950

asked

Ask a question