
스프링부트 (Spring Boot)는 자바의 웹 프레임워크로 기존 스프링(Spring) 프레임워크에 톰캣 서버를 내장하고 여러 편의 기능들을 추가한 프레임워크이다.
웹 프레임워크는 쉽게 말해 웹 프레임워크는 웹 프로그램을 만들기 위한 스타터 키트이다.
쿠키나 세션 처리, 로그인/로그아웃 처리, 권한 처리, 데이터베이스 처리 등 웹 프로그램을 위해 필요한 여러 기능들이 웹 프레임워크에 이미 만들어져 있다. 따라서 그저 이 기능들을 사용하기만 하면 된다.
개발자가 웹 프로그램을 만들 때 가장 어렵게 느끼는 기능 중 하나는 바로 보안 기능이다. 하지만 스프링부트를 사용하면 보안 공격에 대한 코드를 직접 짤 필요가 없다. 스프링 부트는 보안 공격을 기본으로 아주 잘 막아주기 때문이다. SQL 인젝션, XSS, CSRF, 클릭재킹과 같은 보안 공격은 기본으로 막아준다.
- SQL 인젝션 : 악의적인 SQL을 주입하여 공격하는 방법
- XSS(Cross-Site Scripting) : javascript를 삽입해 공격하는 방법
- CSRF(Cross-Site Request Forgery) : 위조된 요청을 보내는 공격 방법
- 클릭재킹(Clickjacking) : 사용자가 의도하지 않은 클릭을 유도하는 공격 방법
스프링부트는 2012년에 등장해 10년 넘는 시간동안 무수히 많은 기능이 추가되고 다듬어져왔다. 따라서 스프링부트에는 웹 프로그램 개발을 할 때 여러분이 필요로 하는 대부분의 도구와 기능이 준비되어 있다. 로그인 기능, 페이징 기능 등 이미 있을 뿐 아니라 너무나도 잘 만들어져있다.
스프링부트에는 톰캣 서버가 내장되어 있고 설정도 자동 적용된다. 따라서 여러분은 WAS에 대해서 전혀 신경 쓸 필요가 없다. 심지어 배포되는 jar 파일에도 톰캣 서버가 내장되어 실행되므로 서로 다른 WAS들로 인해 발생되는 문제들도 사라진다.
Spring Boot 대신 Spring만 사용하여 웹 어플리케이션을 개발한다면 웹 어플리케이션을 실행할 수 있는 톰캣과 같은 WAS(Web Application Server)가 필요하다.
스프링부트는 스프링의 복잡한 설정을 자동화하고 단순화하여 누구나 스프링을 쉽게 사용할 수 있게 만들었다.
이건 공부하면서 진짜인지 확인해보도록 하겠다 ㅋㅋㅎㅎ