Spring의 핵심 기능 DI(Dependency Injection), IoC(Inversion of Control). 오늘은 그 중 Spring에서 DI를 하는 3가지 방법에 대해 알아보고자 합니다. 그리고 마지막으로 생성자 주입 방식이 왜 가장 추천되는지 코드를 통해 살펴 보며 마무리 하겠습니다. 목차 DI 란? DI의 3가지 방법 필드 주입 Setter 주입 생성자 주입 BEST 방법 -> 생성자 주입 방식 생성자 주입을 사용해야 하는 이유로 넘어 가고 싶다면 바로 밑으로 쭉 내리시면 됩니다. DI 란? 구체적인 DI방식에 대해 알아보기 전에, 간단히 DI의 정의에 대해 알아 봅시다. DI(dependency injection), 의존성 주입은 하나의 객체가 다른 객체의 의존성을 제공하는 테크닉을 ..
생성자 주입
프로젝트를 진행하다 아래와 같은 에러메시지를 만나, 어떻게 해결하는지 정리하고자 합니다. Implicit super constructor Cat() is undefined. Must explicitly invoke another constructor 원인 이 문제가 발생한 이유는 자식 클래스와 부모 클래스가 있을 때, lombok의 어노테이션으로는 super를 호출 할 수 없기 때문입니다. 무슨 말인지 아래 코드를 통해 살펴 보겠습니다. //lombok + 생성자 DI 방식 @Component @RequiredArgsConstructor public class Animal{ public String state; private final TestService service; } //lombok에서 제공하는..