의존성 주입의 필요성
-. Test가 용이해진다.
-. 코드의 재사용성을 높여준다.
-. 객체 간의 의존성(종속성)을 줄이거나 없앨 수 있다.
-. 객체 간의 결합도를 낮추면서 유연한 코드를 작성할 수 있다.
@Autowired
는 생략 가능생성자 주입 방법을 사용하는 이유
- 변경의 가능성을 배제하고 불변성을 보장
- 필드에 final을 사용하여 오류를 컴파일 시점에서 막아준다
- 테스트코드의 가독성이 높아지며, 유지보수가 용이
- 순환참조 에러를 미리 파악하여 방지할 수 있다
Lombok
Lombok 라이브러리에서 제공되는 @RequiredArgsConstructor
를 사용하면 코드로는 보이지 않지만 final이 붙은 필드를 자동 생성자로 만들어준다