스프링으로 개발해보면서도, 스프링의 실체에 대해서 잘 모르고 개발하는 감이 있었다.
이 강의로 스프링이 뭘 하고자 하는지, 어떤 기능을 왜 만들었는지 그림을 그릴 수 있게 됐다.
스프링의 목적은 바로 객체 지향 원칙 SOLID
를 고수하는 것이다. DI
, IoC
등의 개념이 나온 이유도 모두 여기서 시작된다.
스프링 없이 개발하며 SOLID
원칙을 지키려 했을 때, 결국은 스프링 프레임워크를 개발하게 되어있다는 사실이 놀라웠다.
다만 스프링 자체에 장점이자 단점이라고 느낀 것은, 별도 설정 없이 기본으로 제공하는 기능들이 너무 잘 되어있다는 것이다.
물론 개발자의 편의를 생각하여 기본 기능을 세세하게 만들어둔 것은 매우 감사할 일이다.
그러나 기본 기능에 의존할 수록 코드의 명확성은 떨어지기 때문에 가끔 혼란스럽다고 생각될 때도 있었다.
견해에 상관 없이, 무엇이든 표준을 따르는게 가장 좋다고 생각한다. 다른 프로젝트를 통해 더 익숙해지도록 노력할 것이다.