DI(Dependency Injection)의 장점
참조: 프로 스프링 2.5 1장
접착 코드(glue code) 감소
- JNDI를 사용할 경우 복잡해질 수 있느 코드를 DI로 대체하면 깔끔해진다.
의존성 외부화
- 설정 옵션 분리, 의존성 변경 용이함
한 곳에서 의존성 관리
- 각각의 클래스 내부에서 자신의 의존성을 관리하는 것 보단 한 곳에서 관리하는 것이 편리함
테스트 편의성 향상
- 테스트용 더비(Dummy) 구현체로 쉽게 교체할 수 있기 때문에 귿.
좋은 애플리케이션 설계 도출
- DI를 활용하다보면 컴포넌트를 인터페이스를 사용하여 연결하게 된다. 이러한 설계야 스프링 전에도 가능했지만 스프링이 알아서 다 해주는걸 무료로 사용할 수 있으니까 비즈니스 로직에만 집중할 수 있을 것이다.
ps1: 프로 스프링 1장 베타리딩 시작합니다.
ps2: 베타리딩은 봄싹에서 전담합니다.