한국은 자바의 왕국이다. 자바를 사용한지 오래되었기 때문에 이미 개발된 서비스들이 자바로 구현된 것이 많이있다. 하지만 시간이 지날수록 점점 쉽고 더 발전한 프레임워크 등이 나타나면서 기존의 서비스들이 비효율적으로 보이기 시작했다. 하지만 이미 기존에 완성된 서비스를 새로나온 프레임워크로 바꾸기에는 시간과 돈이 너무나도 많이 든다. 그래서 어쩔수없이 기존에 개발해놓은 환경을 탈피하지 못하고 사용한다. 이러한 상황에서 가장 좋은 방법은 자바를 개선해서 효율적으로 프로그래밍을 하는 방법이다.
스프링은 스프링 1.0이 출시된 2004년부터 지금까지 개선되고 개선된 오래된 프레임워크이다. 이렇게 진화한 만큼 원시적은 코드에서는 이게 어떻게 작동되는지 세세한 부분을 알 수 있었다면 지금의 스프링에서는 원시적인 코드가 요약되고 줄여지고 간략화 되면서 이게 어떻게 동작하는지 파악하는데 어려움이 생겼다. (물론 기존의 사용자들은 이미 아는 동작방식이기에 더욱 편하겠지만) 처음 스프링을 접하는 사람은 코드를 이해하기가 쉽지가 않다. 하지만 이렇게 간략화되고 줄여진 스프링은 세세하게 모듈화가 잘 되어있어 필요한 기능을 가져와서 사용하기만 하면 된다.
어떤 프로젝트를 진행할 때 필요한 부품을 찾아와 사용하기만 하면 되기 때문에 개발에 사용되는 시간이 단축되었다.
나는 스프링의 동작이 어떻게 작동되는지 알고있는 오래된(성숙한) 개발자가 아니다. 내가 이런 오래된 역사를 가진 스프링을 효율적으로 공부하기 위해서는 우선 스프링의 부품들을 어떻게 사용하는지를 먼저 사용해보고 그 사용법을 익힌다. 그렇게해서 완성된 프로젝트에 다양한 부품들을 사용해보면서 기능들을 추가한다. 그러면서 점점 공식문서에 익숙해지고 구조에 대해서 이해가 되기 시작 할 것이다. 그때가서 하니씩 찾아보고 뜯어본다면 좋은 개발자로 성장 할 수 있을것이라 자신한다.