Spring Boot를 위해 , Spring 먼저 알아야 하나?
안녕하세요.
고코더 입니다.
● 1. 스프링 부트를 학습하는 분이 많습니다. 요즘은 실무에서도 스프링보다 스프링 부트 프로젝트가 많아진 걸 느낍니다. 그래서 많은 학습자들이 질문하는 것 중 하나가 바로 "스프링 먼저 학습해야 하나요?"라는 질문입니다. 이 부분에 대한 답을 진행하려고 합니다.
자바의 학습 로드맵
● 2. 제가 생각하는 자바를 공부하는 순서입니다. 주목할 점은 서블릿 다음에 바로 스프링 부트를 공부해도 좋고, 혹은 스프링을 공부하고 다음 스프링부트를 공부하는 것도 괜찮다는 이미지입니다. 미리 제 생각의 결론을 말하면 "스프링 부트 먼저 공부해도 좋다"입니다. 기존의 스프링은 복잡하고 불필요한 설정부터 시작하게 되는 버거움을 제거한 게 스프링 부트입니다. 물론 학습은 무겁게 시작해서 점점 가볍게 가는 것이 좋을 수도 있습니다. 즉 스프링을 공부하고 부트를 공부한다면 효과적이지만, 스프링 부트를 먼저 배우면 좀 더 편리하고 빠르게 배울 수 있다는 있는 장점이 있습니다.
방대한 설정의 늪 스프링
● 3. 스프링은 본래 EJB의 복잡함에 벗어나, POJO 기반의 경량화된 프레임워크였습니다. 하지만 시간이 지나면서 스프링은 점점 많은 곳에서 사용하게 되었고, 필요한 기능들이 늘어나면서 사용할 라이브러리가 극도로 많아졌습니다. 그에 따라 신경 써야 할 사항들은 점점 많아지고, 방대한 설정은 개발자를 지치게 했습니다. (물론 설정도 하나의 학습입니다)
스프링 부트 시작의 편리함
● 4. 스프링 부트는 톰캣, 그리고 제티와 같은 웹서버를 내장하고 있습니다. 복잡한 환경설정을 간소화합니다. 즉 스프링 부트 프로젝트를 생성할 때 일명 스타터를 제공합니다. 필요한 라이브러리를 묶인 패키지들을 의존성만 추가하면 자동으로 부트가 필요한 파일들을 다운로드됩니다. 이렇게 되면 라이브러리의 버전이 상이해서 생기는 오류들을 피할 수 있게 됩니다.
● 5. 그리고 스프링 부트는 기존의 XML로 설정하던 부분들을 어노테이션(annotation)으로 처리합니다. 덕분에 복잡한 XML의 설정을 기록하면서 생기는 오류들을 피할 수 있게 됩니다. 그리고 메이븐(Maven)과 그레이들(Gradle)을 사용하여 자동화된 빌드 도구들을 사용할 수 있게 됩니다. 즉 지겹게 수정하던 Pom.xml을 만들 필요가 없어집니다.
스프링 부트 시작해도 될 거 같습니다.
● 6. 제가 하는 말은 정답은 아닙니다. 복잡한 설정 또한 좋은 학습입니다. 하지만 자동화된 최신의 도구로 본연의 코딩에 빨리 집중할 수 있게 한 것이 스프링 부트라고 생각이 듭니다. 배울게 많은 프로그래머 입장에서는 이러한 속도 또한 중요하다고 생각합니다.
결론은 이렇습니다.
스프링일 먼저 할까? 부트를 먼저 할까라고 고민한다면
스프링 부트 먼저 시작하셔도 좋을 거 같습니다.
'IT_Developers > JAVA' 카테고리의 다른 글
API를 테스트 할 수 있는 사이트 - hoppscotch.io (0) | 2021.11.13 |
---|---|
JSTL - el 태그에서 문자열 이어 붙이기 (0) | 2021.11.13 |
JSTL - <c:out> 사용법과 특징 (0) | 2021.11.12 |
JAVA - String VS StringBuffer 의 차이는? / 쉬운 설명 (0) | 2021.11.12 |
JSTL - JSP에서 파라미터 받는 방법 / param (0) | 2021.11.11 |
댓글