Skip to content

CodingConsideration

SeongMin Kim edited this page Nov 10, 2025 · 1 revision

Field Injection 을 사용할때 발생할 수 있는 문제

테스트코드 작성시

// 테스트 코드 또는 유틸리티 코드
PaymentService service = new PaymentService(); // Spring 없이 생성  
service.process(); // NullPointerException 발생!

테스트 코드 생성시 Spring 의 자동주입이 적용되지 않으므로 문제.

순환 의존성 조기 감지 불가

Spring Boot 2.5 이하에서는 필드 주입, Setter 주입으로 순환 의존성 우회 가능
생성자 주입은 불가능

final 사용불가능으로 인한 의존성 변경 가능성

code smell

생성자 주입생성시 필드주입보다 사용되는 의존성이 많아보임
-> 생성자를 줄여 역할을 분리해야 하겠다는 느낌을 개발자가 인지하게 됨

Clone this wiki locally