일본에서 직장생활을 하던 시절, 같이 개발을 하던 친구가 연두색 새싹이 표지에 가득 그려진 예쁜 책을 지하철에서 읽는 것을 보았다. '스프링이 뭐지?'라는 의문을 처음 가졌던 그 순간으로부터 많은 시간이 지난 지금도 스프링은 많은 개발 현장에서 사용되고 있다. 스프링이 짧지 않은 시간을 거쳐 다양한 환경에서 검증된 프레임워크라는 이유만으로 엔터프라이즈급 서버들까지 스프링 프레임워크로 전환되고 있는 것은 아닐 것이다. 사용성과 확장성뿐 아니라 엔터프라이즈급 서버로서의 성능도 뛰어났기 때문이 아닐까 싶다. 특히 스프링에서 강조하는 DI/Ioc와 AOP 개념은 그동안 프로그래밍을 하면서 느꼈던 갈증을 해소해 줄 것이라고 생각한다. DI/Ioc는 좀 더 유연하고 사용성이 높은 코드를 짤 수 있도록 하는데 아주 좋은 개념이다.
이 책은 스프링의 개념에 대해 간단하고 쉽게 설명한다. 이 책을 보면서 단순히 스프링 프레임워크를 어떻게 사용하는지 사용법만을 습득하는 것이 아니라, 스프링이 어떤 이유에서 나왔고, 다른 프레임워크와 차별화된 장점은 무엇인지 고민하며 읽는다면, 독자 분들의 프로그래밍이 업그레이드되는 계기가 될 것이다. 본문에도 나오지만 스프링은 단지 단순한 웹 애플리케이션 개발 용도로만 나온 개발 프레임워크가 아니다. GUI 및 응용 애플리케이션 개발에도 충분히 적용할 수 있는 프레임워크이다. 이 책을 번역하면서 많은 참고 자료를 살펴본 결과, 스프링은 내용이 방대한 프레임워크이다. 개발하고자 하는 환경에 맞게 필요한 부분을 잘 적용하는 것이 스프링을 스프링답게 사용하는 방법이지 싶다. 책을 번역하는 과정은 빡빡한 일정을 핑계 삼아 외면하고 지내던, 처음 코드를 만들던 시절의 열정을 되돌아 보는 계기가 되었다. 일정에 쫓기며 적당히 자신과 타협해왔던 코드들이 아닌, 차근차근 생각하면서 더 나은 코드를 궁리하던 초심을 느끼면서 그 시절로 돌아간 느낌이었다. 일정이 겹치는 바람에 몸은 피곤했지만 매너리즘에 빠지려는 나에게 다시 한 번 힘을 낼 수 있는 신선한 자극제가 되었다. 책이 완성되어 나오기까지 많은 분들의 도움을 받았다. 꼬인 스케줄 관리하시느라 고생하신 엔터스코리아 이재성 부장님과 책이 나오기까지 여러 방면으로 지원해 준 한빛미디어분들께 감사드린다. 역자의 부족한 지식을 채워주느라 사소한 질문까지 친절하게 가르쳐주신 감수자 박성철님께도 감사드린다. 모두가 바쁜 연말임에도 불구하고 책이 나올 때까지 많이 배려해주고 도와준 우암 식구들에게도 고맙다는 말을 전하고 싶다. 마지막으로, 떨어져 있어도 함께 있는 것처럼 힘이 되어주는 가족들과 친구들에게 평소에는 자주하지 못하는, 항상 고맙고 아주 많이 사랑한다는 말을 이 기회를 빌려 전하고 싶다.