백엔드/Spring
[Spring] 생성자 주입을 사용해야 하는 이유
목적 생성자 주입을 사용하는 이유에 대해 알고자 함 목차 생성자 주입이란? 생성자 주입의 장점 a. NPE 방지 b. Immutable 객체 생성 c. 순환참조 방지 1. 생성자 주입이란? 주입이란 A객체가 B객체를 사용하는 코드가 있을때, B객체를 생성하여 A객체가 사용할 수 있도록 관계를 형성해 주는 것이다. 생성자 주입은 생성자를 사용하여 객체를 생성할때, 생성되는 객체가 사용하는 의존성을 생성자의 파라미터로 전달해주는 방식이다. 2. 생성자 주입의 장점 a. NPE 방지 필드주입과 setter주입이 제대로 되지 않았다는 가정하에 autowired를 제거하였다. 테스트 시 필드주입과 setter주입의 경우엔 의존성이 제대로 주입되지 않았음에도 객체를 생성할 수 있었다. 따라서 의존성이 제대로 주입되..