스프링부트란?
스프링부트(Spring Boot)는 자바의 웹 프레임워크로 기존 스프링 프레임워크(Spring Framework)에 톰캣 서버를 내장하고, 여러 편의 기능들을 추가하여 꾸준한 인기를 누리고 있는 프레임워크이다.
웹 프로그램을 쉽고 빠르게 만들어주는 프레임워크
스프링 부트는 웹 프로그램을 쉽고 빠르게 만들 수 있도록 도와주는 프레임워크이다.
웹 프레임워크
웹 프로그램을 만들기 위해서 웹 프레임워크가 없다면, 웹 프로그램을 위해 만들어야 할 기능이 정말 많다. 하지만, 웹 프레임워크를 사용하면 그런 기능들이 이미 만들어져 있기 때문에 웹 프레임워크에 있는 기능을 익혀서 사용하기만 하면 된다. 웹 프레임워크는 웹 프로그램을 만들기 위한 스타터 키트라고 생각하면 된다. 자바로 만들어진 웹 프레임워크 중 하나를 스프링 부트라 한다.
얼마나 빨리 만들 수 있을까
웹 브라우저에 'Hello World'를 출력하려면 다음과 같은 클래스 하나만 작성하면 된다. 기능에 대한 자세한 설명은 나중에 설명하도록 한다.
@Controller
public class HelloController{
@GetMapping("/")
@ResponseBody
public String hello(){
return "Hello World";
}
}
스프링부트는 튼튼한 웹 프레임워크이다.
개발자가 웹 프로그램을 만들 때 가장 어렵게 느끼는 기능이 보안 기능이다. 스프링부트는 기본적으로 보안 공격을 잘 막아주기 때문에 튼튼한 웹 프레임워크이다. 스프링부트를 사용하면 다음과 같은 보안 공격에 대한 코드를 짤 필요가 없다.
SQL 인젝션: 악의적인 SQL을 주입하여 공격하는 방법
XSS: 자바 스크립트를 삽입해 공격하는 방법
CSRF: 위조된 요청을 보내는 공격 방법
클릭재킹: 사용자의 의도하지 않은 클릭을 유도하는 공격 방법
스프링부트는 여러 기능이 준비되어 있다.
스프링은 2012년에 등장하여 10년 이상 그 자리를 유지하고 있다. 그동안 무수히 많은 기능들이 추가되고 다듬어졌기 때문에 스프링부트에는 우리가 원하는 웹 프로그램 개발을 위한 도구와 기능들이 대부분 존재한다.
스프링부트는 WAS가 따로 필요 없다.
스프링부트 대신 스프링만 사용하여 웹 애플리케이션을 개발한다면, 웹 애플리케이션을 실행할 수 있는 톰캣과 같은 WAS(Web Applicaiton Server)가 필요하다. 하지만, 스프링부트에는 톰캣 서버가 내장되어 있고 설정도 자동 적용되므로 WAS에 대해 신경 쓸 필요가 없다. 또한, 배포되는 jar 파일에도 톰캣 서버가 내장되기 때문에 다른 WAS들로 인해 발생하는 문제들이 사라진다.
※ 참고
스프링부트로 작성하더라도 톰캣 내장 서버가 아닌 다른 WAS를 사용할 수 있다.
스프링부트는 설정이 쉽다.
스프링부트는 스프링의 복잡한 설정을 자동화하고 단순화하여 누구나 쉽게 스프링을 사용할 수 있게 만들었다.
'Spring' 카테고리의 다른 글
[스프링부트] 컨트롤러 (0) | 2023.11.05 |
---|---|
[스프링부트] 스프링부트 프로젝트의 구조 (1) | 2023.10.19 |
[스프링] 스프링 핵심 원리 기본편 정리: 9. 빈 스코프 (0) | 2023.09.13 |
[스프링] 스프링 핵심 원리 기본편 정리: 8. 빈 생명주기 콜백 (0) | 2023.09.08 |
[스프링] 스프링 핵심 원리 기본편 정리: 7. 의존관계 자동 주입 (0) | 2023.09.04 |