JavaBookStudy / JavaBook

책읽기 스터디
https://javabookstudy.github.io/
Apache License 2.0
19 stars 2 forks source link

[토비의 스프링] 3.4.2_스프링 DI 컨테이너를 이용하지 않고 직접 DI 하는 것의 장점에 대해 #77

Closed daebalprime closed 3 years ago

daebalprime commented 3 years ago

240p에 보면 DAO코드 내에서 수동으로 DI하는 것의 장점은 관계를 외부에 드러내지 않는다는 것이라고 합니다. 객체 간의 관계가 외부에 노출되면 어떤 일이 벌어지나요?

taxol1203 commented 3 years ago

인터페이스를 사이에 두고 의존관계를 성립하게 하면, 런타임 시점에 오브젝트 간의 관계가 성립이 됩니다.
이에 반해, JdbcContext와 같이 인터페이스를 사용하지 않고 구체 클래스를 직접적으로 의존하면, 컴파일 시점에 의존관계가 드러난다는 건데,,

이에 따라 보안 상의 이슈가 발생하지 않을까 생각해 봅니다. 확실하지 않아 의문점만 늘어난 답변이네요,, 조금 더 찾아보겠습니다!

What's bad when the dependence relationship between objects is revealed?

kjsu0209 commented 3 years ago

보안상 이슈와 관련된게 맞는듯 합니다. 수동 DI를 사용하면 DI 전략을 감출 수 있다고 해요.

참고