[JumpToSpringBoot] 1-01. 스프링부트란?

juuns·2023년 1월 12일
post-thumbnail

스프링부트란?


스프링부트 (Spring Boot)는 자바의 웹 프레임워크로 기존 스프링(Spring) 프레임워크에 톰캣 서버를 내장하고 여러 편의 기능들을 추가한 프레임워크이다.

1. 스프링부트는 웹 프로그램을 쉽고 빠르게 만들어주는 웹 프레임워크다


웹 프레임워크는 쉽게 말해 웹 프레임워크는 웹 프로그램을 만들기 위한 스타터 키트이다.
쿠키나 세션 처리, 로그인/로그아웃 처리, 권한 처리, 데이터베이스 처리 등 웹 프로그램을 위해 필요한 여러 기능들이 웹 프레임워크에 이미 만들어져 있다. 따라서 그저 이 기능들을 사용하기만 하면 된다.


2. 스프링부트는 튼튼한 웹 프레임워크이다


개발자가 웹 프로그램을 만들 때 가장 어렵게 느끼는 기능 중 하나는 바로 보안 기능이다. 하지만 스프링부트를 사용하면 보안 공격에 대한 코드를 직접 짤 필요가 없다. 스프링 부트는 보안 공격을 기본으로 아주 잘 막아주기 때문이다. SQL 인젝션, XSS, CSRF, 클릭재킹과 같은 보안 공격은 기본으로 막아준다.

  • SQL 인젝션 : 악의적인 SQL을 주입하여 공격하는 방법
  • XSS(Cross-Site Scripting) : javascript를 삽입해 공격하는 방법
  • CSRF(Cross-Site Request Forgery) : 위조된 요청을 보내는 공격 방법
  • 클릭재킹(Clickjacking) : 사용자가 의도하지 않은 클릭을 유도하는 공격 방법

3. 스프링부트에는 여러 기능이 준비되어 있다


스프링부트는 2012년에 등장해 10년 넘는 시간동안 무수히 많은 기능이 추가되고 다듬어져왔다. 따라서 스프링부트에는 웹 프로그램 개발을 할 때 여러분이 필요로 하는 대부분의 도구와 기능이 준비되어 있다. 로그인 기능, 페이징 기능 등 이미 있을 뿐 아니라 너무나도 잘 만들어져있다.

4. 스프링부트는 WAS가 따로 필요없다


스프링부트에는 톰캣 서버가 내장되어 있고 설정도 자동 적용된다. 따라서 여러분은 WAS에 대해서 전혀 신경 쓸 필요가 없다. 심지어 배포되는 jar 파일에도 톰캣 서버가 내장되어 실행되므로 서로 다른 WAS들로 인해 발생되는 문제들도 사라진다.

Spring Boot 대신 Spring만 사용하여 웹 어플리케이션을 개발한다면 웹 어플리케이션을 실행할 수 있는 톰캣과 같은 WAS(Web Application Server)가 필요하다.


5. 스프링부트는 설정이 쉽다


스프링부트는 스프링의 복잡한 설정을 자동화하고 단순화하여 누구나 스프링을 쉽게 사용할 수 있게 만들었다.

6. 스프링부트는 재미있다


이건 공부하면서 진짜인지 확인해보도록 하겠다 ㅋㅋㅎㅎ


개발 환경 준비하기


자세한 과정은 생략한다. 필수적으로 해야할 일은 다음과 같다.
VS Code에서의 개발 환경을 구축하고 싶다면 다음 글을 보길 바란다.
  1. 자바 설치 (JDK 설치)
  2. IDE 설치 (STS, VS Code, IntelliJ 등)
  3. 각 IDE에 맞는 도구 설치 (Lombok, Live Reload 등)

본 시리즈는 "점프 투 스프링부트"를 공부하며 작성하는 글입니다.
출처: "점프 투 스프링부트." WikiDocs. 2022년 12월 26일 수정, 2023년 1월 12일 접속, https://wikidocs.net/book/7601.

0개의 댓글