본문 바로가기
IT_Developers/JAVA

스프링부트(Spring Boot)를 배우기 위해, 스프링(Spring)을 먼저 배워야 할까?

by 고코더 2021. 11. 12.

Spring Boot를 위해 , Spring 먼저 알아야 하나?

안녕하세요.

고코더 입니다.

 

 

 1. 스프링 부트를 학습하는 분이 많습니다. 요즘은 실무에서도 스프링보다 스프링 부트 프로젝트가 많아진 걸 느낍니다. 그래서 많은 학습자들이 질문하는 것 중 하나가 바로 "스프링 먼저 학습해야 하나요?"라는 질문입니다. 이 부분에 대한 답을 진행하려고 합니다.

 

자바의 학습 로드맵

2. 제가 생각하는 자바를 공부하는 순서입니다. 주목할 점은 서블릿 다음에 바로 스프링 부트를 공부해도 좋고, 혹은 스프링을 공부하고 다음 스프링부트를 공부하는 것도 괜찮다는 이미지입니다. 미리 제 생각의 결론을 말하면 "스프링 부트 먼저 공부해도 좋다"입니다. 기존의 스프링은 복잡하고 불필요한 설정부터 시작하게 되는 버거움을 제거한 게 스프링 부트입니다. 물론 학습은 무겁게 시작해서 점점 가볍게 가는 것이 좋을 수도 있습니다. 즉 스프링을 공부하고 부트를 공부한다면 효과적이지만, 스프링 부트를 먼저 배우면 좀 더 편리하고 빠르게 배울 수 있다는 있는 장점이 있습니다.

방대한 설정의 늪 스프링

3. 스프링은 본래 EJB의 복잡함에 벗어나, POJO 기반의 경량화된 프레임워크였습니다. 하지만 시간이 지나면서 스프링은 점점 많은 곳에서 사용하게 되었고, 필요한 기능들이 늘어나면서 사용할 라이브러리가 극도로 많아졌습니다. 그에 따라 신경 써야 할 사항들은 점점 많아지고, 방대한 설정은 개발자를 지치게 했습니다. (물론 설정도 하나의 학습입니다)

 

 

스프링 부트 시작의 편리함

4. 스프링 부트는 톰캣, 그리고 제티와 같은 웹서버를 내장하고 있습니다. 복잡한 환경설정을 간소화합니다.  즉 스프링 부트 프로젝트를 생성할 때 일명 스타터를 제공합니다. 필요한 라이브러리를 묶인 패키지들을 의존성만 추가하면 자동으로 부트가 필요한 파일들을 다운로드됩니다. 이렇게 되면 라이브러리의 버전이 상이해서 생기는 오류들을 피할 수 있게 됩니다. 

 

5. 그리고 스프링 부트는 기존의 XML로 설정하던 부분들을 어노테이션(annotation)으로 처리합니다. 덕분에 복잡한 XML의 설정을 기록하면서 생기는 오류들을 피할 수 있게 됩니다. 그리고 메이븐(Maven)과 그레이들(Gradle)을 사용하여 자동화된 빌드 도구들을 사용할 수 있게 됩니다. 즉 지겹게 수정하던 Pom.xml을 만들 필요가 없어집니다. 

 

 

스프링 부트 시작해도 될 거 같습니다.

6. 제가 하는 말은 정답은 아닙니다. 복잡한 설정 또한 좋은 학습입니다. 하지만 자동화된 최신의 도구로 본연의 코딩에 빨리 집중할 수 있게 한 것이 스프링 부트라고 생각이 듭니다. 배울게 많은 프로그래머 입장에서는 이러한 속도 또한 중요하다고 생각합니다.

 

 

결론은 이렇습니다.

 

스프링일 먼저 할까? 부트를 먼저 할까라고 고민한다면

스프링 부트 먼저 시작하셔도 좋을 거 같습니다.

 

 

 

댓글