-
카테고리
-
세부 분야
백엔드
-
해결 여부
미해결
생성자를 통한 빈 주입시 장점이 무엇인가요?
19.05.10 06:20 작성 조회수 114
0
기존에 @Autowired를 변수에 사용하여 간결하게 진을 주입받을 수 있다고 생각했는데, 굳이 생성자까지 만들어가면서 빈을 주입하면 생기는 이점이 무엇이 있을까요?
생성자를 통한 주입이 좋은 점이 있기 때문에 나온 것이라 생각하는데 굳이 코드의 길이를 늘려가면서 해야하는 이유가 무엇일까요???
답변을 작성해보세요.
0
0
백기선
지식공유자2019.05.10
만약에 해당 의존성이 필수라고 가정해보죠. 즉 A를 만들 때 B가 반드시 A에 들어있어야만 하는 경우. 그런 경우라면 생성자로 주입을 받는게 말이 되고 자연스럽습니다. 멤버 변수로 주입 받는 경우에는 필드 주입이니까 사실상 B가 없어도 A 객체를 만들 수 있게 되는데 결코 적절한 상황은 아니죠.
물론 뭐 현실적으로는 A객체를 직접 만들 일도 없고, 스프링이 만들어 주니까. 그리고 @Autowired도 기본값이 required=true기 때문에 B가 없으면 A 만들다 에러가 나긴 하겠지만요.
답변 2