생성자 주입(권장)
- @RequiredArgsConstructor Lombok의 주석을 사용하면 생성자 코드를 작성하지 않고도 동일한 기능을 제공할 수 있습니다.
- 생성자를 통해 종속성을 주입하는 방법
- 특성:
- 생성자가 호출될 때 한 번만 호출되도록 보장됩니다.
- 불변성필수 의존성에 사용
- final 키워드를 사용하면 생성자를 선언하거나 생성할 때 지정된 값을 설정할 수 있습니다.
- 종속성 주입은 빈을 등록할 때 자동으로 수행됩니다.
- 프레임워크에 의존하지 않고 순수한 Java의 장점을 잘 활용하십시오.
- 생성자가 1개인 경우 @Autowired를 생략해도 자동으로 삽입된다. (스프링 빈에서만)
수정자 주입
- 세터를 사용한 의존성 주입
- 특성:
- 선택적이고 변경 가능한 종속성에 사용됨
- 순수한 Java 코드이므로 메서드 호출이 필요합니다.
현장 주입(권장하지 않음)
- 필드 변수에 @Autowired 주석을 추가하여 종속성을 추가합니다.
- 코드가 간결하지만 외부에서 수정할 수 없어 테스트하기 어려운 단점이 있다.
- DI 프레임워크 없이는 아무 것도 작동하지 않습니다.
제네릭 메서드 주입
- 제네릭 메서드를 호출하여 종속성 주입
- 사실 수정자 주입과 유사합니다.
- 특성
- 여러 필드를 동시에 주입할 수 있습니다.
- 일반적으로 잘 사용하지 않습니다.
https://www.inflearn.com/course/%EC%8A%A4%ED%94%84%EB%A7%81-%ED%95%B5%EC%8B%AC-%EC%9B%90 %EB%A6%AC-%EA%B8%B0%EB%B3%B8%ED%8E%B8/대시보드