Quantcast
Channel: 개발 노트
Viewing all articles
Browse latest Browse all 299

[리뷰] 스프링4 입문

$
0
0


책을 읽게 된 계기

진행 중이던 프로젝트가 하나 끝나고, 다음 프로젝트를 준비하면서 스프링에 대해 공부를 하게 되었다. 모바일 게임의 웹 서버 프로젝트이다 보니 스프링 프레임워크까지 쓰는 것에 대해 대부분 반감을 가지고 있어서 이전에는 서블릿 기반으로 간단하게 구현을 해서 사용을 했었다. 나 또한 스프링 프레임워크를 도입 해야만 하는 이유가 딱히 없었기 때문에 서블릿을 사용하며 필요한 부분만 구현하는 식으로 프로젝트를 진행했었기 때문에 따로 공부할 것이 많지 않아서 편한 부분은 있었다. 하지만 자바 웹 서버 개발을 하는 사람들이 하나같이 스프링을 극찬하며 많이 사용하는 이유가 있을거라는 생각에 스프링 공부를 한번 해보기로 마음 먹었다. 공부를 해나가면서도 스프링이 좋은 건 알겠는데 굳이 우리 프로젝트에서 사용해야할 이유가 떠오르지 않았고 팀원들을 설득시킬 만큼의 이점이 없어 보였다.


책을 읽으며 느낀점

그러던 중 스프링4 입문 책을 읽으며 1장에서 이러한 의문들을 해소할 수가 있었다. 1장의 내용은 스프링이 나온 배경과 어떻게 발전해왔는지에서부터 스프링을 사용했을 때의 이점과 스프링이 추구하는 것이 무엇인지를 알게되니 그동안 고민하고 의문이 들었던 부분들이 하나씩 해소가 되는 것을 느꼈다. 곧바로 스프링에 대한 학습을 시작하지 않고, 독자들에게 스프링을 왜 사용해야 하는지에 대한 이유를 먼저 알려주니 얼른 다음 장이 읽고 싶어졌다.


스프링에 대한 모든 내용을 담기에는 너무 방대하기 때문에 이 책에서는 웹 서버 개발을 위한 스프링 MVC에 초점이 맞춰져 있었다. 하지만 스프링의 핵심 개념인 DI와 AOP에 대해 자세히 설명하고 기반 지식들을 알기 쉽게 설명하고 있기 때문에 이 책을 온전히 이해하고 난 뒤라면 스프링의 다른 부분들도 쉽게 이해할 수 있을 것이라는 생각이 들었다. 개인적인 생각이지만 일본인 저자의 책들은 문장의 흐름이 자연스럽고, 문단 구성도 잘 되어 있어서 내용을 이해하는데 큰 도움이 되는 것 같다. 그림은 많지는 않지만 읽기 쉽기 때문에 재미있게 책을 읽어나갈 수 있었다.


역시나 가장 큰 장애물은 스프링을 사용하기 위한 환경 설정이었다. 예제를 따라하기 위해 STS를 설치하고 개발 환경을 구성하는데 시간이 많이 소요되었었고, 어노테이션을 많이 사용하기 때문에 중간에 하나씩 빼먹는 것에서 오류가 나고, 이러한 오류는 또 찾기도 힘들었었다. 스프링 부트를 사용하면 이러한 설정에 대한 어려움을 덜어낼 수 있지만 책의 후반부에 스프링 부트가 등장하기 때문에 환경 설정은 피할 수 없다. 하지만 개인적으로는 너무 편한 것을 먼저 사용하는 것보다는 정석대로 하나씩 설정을 배워가며 돌아가는 원리를 파악한 후에 이러한 것들을 자동으로 해주는 편리한 프레임워크를 사용하는 것이 더 좋다고 생각한다. 저자도 그러한 이유 때문에 스프링 부트를 후반부에 넣지 않았을까


마치며

스프링에 대한 기반 지식을 탄탄이 하는데는 강력 추천 할만한 책이지만 스프링 5가 릴리즈 된 상황에서 스프링 4 책이 출판된 것이 조금 아쉬웠다. 그래도 버전에 상관 없이 기반을 다질 수 있는 책이기 때문에 큰 도움을 주는 책이다. 다음 프로젝트에서 스프링을 사용할지는 아직 모르지만 스프링을 공부하다보면 프로그래밍에 대한 실력도 향상되는 느낌이 들었다. 주어진 틀 안에서만 코딩하는 개발자가 아닌 원리를 파악하고, 제대로 코딩하고 싶은 개발자들에게 추천!


Viewing all articles
Browse latest Browse all 299

Trending Articles