클라이언트가 컨테이너에 Bean을 직접 조회 한다.
컨테이너가 의존성을 주입한다.
DL, DI의 차이가 조금 헷갈린다.
명확하게 어떤 차이가 있는지 와닿지가 않는 것 같다.
글로 정리하면서 생각해보려 한다.
Bean 수동등록에서 부터 차근차근 생각해보면,
@Configuration에서 Constructor / Setter 를 통해 의존관계를 설정하는 것은 분명히 DI라는 것이 이해가 된다.
Bean 수동등록을 편하게 해주기 위해 @ComponentScan이 나오게 되었다. @ComponentScan을 사용할 때 의존관계를 주입해주기 위한 방법으로 @Autowired가 나온 것이다.
당연히 그러면 @Autowired 도 DI 가 맞다!
이렇게 생각하니 DI 와 DL의 차이점이 분명하게 느껴진다.