스프링 순환 참조와 생성자 주입을 사용해야 하는 이유
2022. 4. 20. 16:59
Spring
스프링에는 3가지 빈 주입을 제공한다. 필드 주입, 수정자 주입, 생성자 주입이다. 대부분 스프링을 한다면, 알고 있는 내용일 것이다. 하지만 조금 더 알아 보자. 생성자 주입을 사용해야 하는 이유 필드 주입 장점 사용하기 가장 편하다. 단점 순환 참조를 컴파일 타임에 알 수 없다.(스프링 부트 2.5이하) 런타임에 로직 호출 시에 알 수 있다. 컴파일 시점에는 각자 주입만할 뿐 누가 자신을 사용하고 있는지는 알지 못하기 때문이다. 하지만 2.6이상 부터는 이를 개선하여 컴파일 타임에 알 수 있다. 객체를 바꿀 수 없다. 즉, 테스트 할 때 불편하다. 수정자 주입 장점 객체를 바꿀 수 있다. 즉, 테스트 할 때 편하다. 단점 순환 참조를 컴파일 타임에 알 수 없다.(스프링 부트 2.5이하) 런타임에 로직..