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

하하하님의 프로필 이미지
하하하

작성한 질문수

스프링 MVC 1편 - 백엔드 웹 개발 핵심 기술

프론트 컨트롤러 도입 - v1

의존 관계 주입 관련 질문입니다!

작성

·

321

0

안녕하세요 !
의존관계 주입에 대한 질문입니다!
 
필드에 private final ~~ ~~; 으로 선언된 경우 보통 @requiredargsconstructor 를 사용하여 의존관계 주입을 한다고 배웠는데
 
private ~~ ~~; 의 경우 @allargsconstructor를 사용하는 경우도 있다고 들었습니다!
 
@RequiredArgsConstructor 초기화 되지 않은 final 필드와 @NonNull 어노테이션이 붙은 필드에 대한 생성자 생성

@AllArgsConstructor 모든 필드에 대한 생성자 생성.

 

 
 
어떤게 더 좋은가 찾아보는 와중에
https://www.inflearn.com/questions/297795
강사님은  @allargsconstructor 대신 @requiredargsconstructor를 사용하신다고 말씀해주셨는데 그러한 이유를 알 수 있을까요??
 

출처: https://smallgiant.tistory.com/78 [나에게 남기는 지식]
 
 

답변 2

0

구조를 건드려야할 때는 구조만 건드려야한다. 

디테일을 계산할때는 계산만.

같은 레벨끼리만 계산한다. 

0

안녕하세요. 김진욱님, 공식 서포터즈 OMG입니다.

final선언 시 객체 생성 시점 이후 변경이 불가능한 불변객체가 되며, 다른 주입에서는 불가능하며 생성자 주입만 가능하고 주입 객체 변경을 예방할 수 있다는 점에서 추천하는 방법으로 보시면 될 거 같아요.

감사합니다

하하하님의 프로필 이미지
하하하

작성한 질문수

질문하기