Java/SpringBoot

[springboot] 스프링 부트를 이용하는 개발자가 빠지기 쉬운 착각

허니몬 2018. 4. 22. 08:58
스프링 부트를 사용하다보면 사람들이 착각하는 게 하나 있다.

스프링 부트로 개발하면서 부딪치게 되는 문제가 모두 스프링 부트에서 발생한다고 생각한다. ㅡ_-)>

실제 문제발생 부분은 본인이 추가한 모듈(JPA라면 스프링 Data JPA와 Hibernate, Web이라면 Spring 5 Servlet Stack, 보안 관련 부분은 Spring Security 5)에 기인한다.

스프링 부트를 이용한 개발 중에 발생한 문제에 대해 묻고 싶다면,
자신이 사용한 스프링부트 버전과 문제가 발생한 기능과 관련된 프레임워크나 라이브러리 버전을 거론해야 한다.

"무턱대고 스프링 부트로 개발하는데 문제가 발생했어요." 라고 묻는 건 잘못된 질문법이다.

자신의 문제를 풀어달라고 하면서, 스무고개 식으로 질문하는 행태를 보고 있으면... 답변해주고 싶지가 않다.

스프링 부트에서 제공하는 모듈을 사용하려면, 그 모듈이 제공하는 기능에 대해서 공부해야 한다.

JPA를 사용한다면, Spring Data JPA와 하이버네이트를 공부해야 하고, 웹기능을 개발한다면 Spring Servlet Stack을 봐야 하고, 비동기 기능을 개발한다면 Spring Reactive Stack을 봐야하는데...

자신이 사용하는 기능에 대한 자기학습없이 무턱대로 코딩부터 하는 습관은 좋지않다.


어떤 기능을 학습함에 있어서 기능을 구현해보면서 학습하는 것은 중요하다. 그러나 그에 앞서서 사용하는 기술의 기본적인 지식과 동작방식을 살펴보자.