생성자 DI1 생성자 주입을 권장하는 이유 스프링의 의존성 주입 방식에는 수정자(setter) 주입, 필드(field) 주입, 생성자(constructor) 주입이 있다. 그중에서 생성자 주입이 다른 방식보다 권장된다. 그 이유들을 간단히 살펴보자. 객체를 불변(immutable)으로 만들 수 있다. setter를 사용하는 주입은 실행 중 언제든지 객체를 변경할 수 있지만, 생성자 주입은 객체를 final로 선언할 수 있어 처음 주입된 이후 변경이 불가능하다. 애플리케이션 실행 시 의존성을 반드시 주입하여 NullPointerException을 방지한다. 컴파일 시에 어떤 이유에서든 의존성이 주입되지 않는 경우를 막아서 실행 중에 NPE를 막을 수 있다. 순환 참조를 막아준다. 한 객체가 다른 객체를 서로 참조할 경우 stack overflow의.. 2022. 5. 30. 이전 1 다음 728x90