개요
자바의 웹 프레임워크로 기존 스프링 프레임워크에 톰캣 서버를 내장하고 여러 편의 기능들을 추가하여 꾸준한 인기를 누리고 있는 프레임워크.
스프링부트는 웹 프로그램을 쉽고 빠르게 만들어 주는 웹 프레임워크다
스프링부트는 웹 프로그램을 쉽고 빠르게 만들 수 있도록 도와주는 웹 프레임워크이다. 웹 프레임워크라는 표현을 처음 듣는 사람을 위해 잠시 웹 프레임워크를 설명해 보겠다.
웹 프레임워크란?
웹 프로그램을 만들어 본 경험이 있는가? 만약 그런 경험이 있다면 웹 프로그램을 위해 얼마나 많은 기능을 만들어야 하는지 잘 알고 있을 것이다.
예를 들어 쿠키나 세션 처리, 로그인/로그아웃 처리, 권한 처리, 데이터베이스 처리 등 웹 프로그램을 위해 만들어야 할 기능이 정말 산더미처럼 많다. 하지만 웹 프레임워크를 사용하면 이런 기능들을 여러분이 일일이 만들 필요가 없다. 왜냐하면 웹 프레임워크에는 그런 기능들이 이미 만들어져 있기 때문이다. 그저 웹 프레임워크에 있는 기능을 익혀서 사용하기만 하면 된다. 쉽게 말해 웹 프레임워크는 웹 프로그램을 만들기 위한 스타터 키트라고 생각하면 된다. 그리고 자바로 만들어진 웹 프레임워크 중 하나가 바로 스프링부트이다.
스프링부트는 튼튼한 웹 프레임워크이다
개발자가 웹 프로그램을 만들 때 가장 어렵게 느끼는 기능 중 하나는 바로 보안 기능이다. 이 세상에는 기상천외한 방법으로 웹 사이트를 괴롭히는 사람들이 있다. 이런 공격에 개발자 홀로 신속하게 대응하기는 무척 어려운 일이다. 하지만 걱정할 필요는 없다. 스프링부트는 이런 보안 공격을 기본으로 아주 잘 막아 준다. 그만큼 스프링부트는 튼튼한 웹 프레임워크다. 예를 들어 SQL 인젝션, XSS(cross-site scripting), CSRF(cross-site request forgery), 클릭재킹(clickjacking)과 같은 보안 공격을 기본으로 막아 준다. 즉, 스프링부트를 사용하면 이런 보안 공격에 대한 코드를 여러분이 짤 필요가 없다.
- SQL 인젝션은 악의적인 SQL을 주입하여 공격하는 방법이다.
- XSS는 자바스크립트를 삽입해 공격하는 방법이다.
- CSRF는 위조된 요청을 보내는 공격 방법이다.
- 클릭재킹은 사용자의 의도하지 않은 클릭을 유도하는 공격 방법이다.
스프링부트는 WAS가 따로 필요없다.
스프링부트 대신 스프링만 사용하여 웹 애플리케이션을 개발한다면 웹 애플리케이션을 실행할 수 있는 톰캣과 같은 WAS(Web Application Server)가 필요하다. WAS의 종류(Tomcat, Weblogic, WebSphere, JBoss, Jeus 등)는 매우 다양하며 설정 방식도 제각각이어서 WAS에 대해 공부해야할 내용도 상당하다. 하지만 스프링부트에는 톰캣 서버가 내장되어 있고 설정도 자동 적용되기 때문에 여러분은 WAS에 대해서 전혀 신경쓸 필요가 없다. 심지어 배포되는 jar 파일에도 톰캣서버가 내장되어 실행되므로 서로 다른 WAS들로 인해 발생되는 문제들도 사라진다.
스프링부트로 작성하더라도 톰캣 대신 다른 WAS를 사용할수 있다.
참고
1-01 필자가 생각하는 스프링부트란? - 점프 투 스프링부트 (wikidocs.net)
1-01 필자가 생각하는 스프링부트란?
스프링부트(Spring Boot)는 자바의 웹 프레임워크로 기존 스프링(Spring) 프레임워크에 톰캣 서버를 내장하고 여러 편의 기능들을 추가하여 꾸준한 인기를 누리고 있는 프…
wikidocs.net
'백엔드 > 프레임워크' 카테고리의 다른 글
스프링 부트 - jar, war 차이 (0) | 2022.12.06 |
---|---|
스프링 부트 - 스타터 종류 (0) | 2022.12.06 |
프레임워크 개요 (0) | 2022.09.21 |
Django - ImportError: cannot import name 'url' from 'django.conf.urls' after upgrading to Django 4.0 (0) | 2022.06.06 |
Django - 의존성 문제 (0) | 2022.06.06 |