무엇을 공부하는 지 알지 못하면 공부를 하는 의미가 없죠.
시작하기 앞서 Spring Boot가 무엇이고 Spring과의 차이가 무엇인지 알아보겠습니다.
Spring Boot makes it easy to create stand-alone, production-grade Spring based Applications that you can "just run".
We take an opinionated view of the Spring platform and third-party libraries so you can get started with minimum fuss. Most Spring Boot applications need minimal Spring configuration.
공식 홈페이지에 나와있는 Spring Boot의 소개 글입니다.
홀로서기가 가능한 어플리케이션 프레임워크... 이게 핵심인 것 같습니다.
모르시는 분이 있을까봐 말씀드리자면 Spring의 의미는 이전의 웹개발의 겨울을 끝내고 봄이 찾아왔다는 의미에서 이렇게 이름을 지었다고 하네요. 그러나 진짜 봄은 Spring Boot에 더 가깝지 않나 싶어요.
Spring의 몇 가지 장점을 말하자면
1. 손쉬운 Dependency Injection
2. Annotation을 활용한 쉬운 설정 @
물론 더 많겠지만 정도가 있다고 생각합니다.
여튼 Spring Boot는 Spring보다 쉬운 설정과 개발 방식으로 사용자는 최대한 로직에 집중할 수 있게 만들어줍니다. 덕분에 XML, JSON 등의 설정 파일을 최대한 배재하고 최대한 Java를 활용한 개발이 가능합니다.
게다가 뛰어난 안정성 덕분에 대형 서버에서 많이 선호되는 경향이 있지요. JPA, Hibernate 같은 ORM과도 궁합이 맞고 Jsp, Thymeleaf 등의 다양한 템플릿 엔진을 이용한 MVC 패턴으로 구현하기도 용이하며 단순히 서버 역할을 하는 Rest API로도 많이 쓰이는 추세입니다.
게다가 아파치, Nginx 같은 최고의 기술력을 가진 서버도 지원하고 있는데다가 서버에 배포할 때 Jar가 아닌 War 형태로 배포 파일을 빌드할 수도 있습니다. 적지않은 오픈소스 라이브러리까지 겸비하고 있지요. 덕분에 많은 개발자들이 다양한 프로젝트를 Java와 Spring으로 진행하고 있기도 하구요.
더 많은 Spring Boot의 장점을 말하려면 한 페이지가 아니라 수십배의 페이지가 필요하겠지만 그 중에서 저는 접해본 다른 언어와 프레임워크 중에서 Spring Boot의 안정성과 문법의 가독성만큼은 단연 최고라고 말할 수 있습니다.
다음은 Note1. Spring Boot 시작하기 입니다.