✔ 이 글은 스프링 부트 핵심 가이드 책을 개인적으로 정리한 글입니다.
스프링(Spring)은 Java 기반의 오픈소스 프레임워크로, 객체 지향 개발에 대한 다양한 기능을 제공합니다.
스프링 프레입워크는 다음과 같은 특징이 있습니다.
-DI(의존성 주입)
-AOP(관점지향 프로그래밍)
-IOC(제어의 역전)
또 웹 개발을 위한 Spring MVC , 데이터베이스 연동을 지원하는 Spring JDBC, JPA등 다양한 모듈을 제공합니다.
스프링 부트는 스프링 프레임워크의 기반 위에서 만들어진 프레임워크로, 스프링 프레임워크를 사용하는 애플리케이션을 더 쉽게 개발하고 실행할 수 있도록 지원합니다. 스프링 부트는 스프링 프레임워크에서 많은 설정과 구성이 필요했던 부분들을 자동으로 처리해주며, 내장형 서버(톰캣)를 제공하여 애플리케이션을 쉽게 실행하고 배포할 수 있도록 도와줍니다.
스프링에서는 Dispatcher Servlet 이 서블릿 역할을 수행하면서 톰캣이 기본적으로 임베드 되어 사용하기 때문에 서블릿 컨테이너와 디스패쳐는 설정된 web.xml의 설정값을 공유한다.
클라이언트에서 http 를 통해 서버에 페이지를 요청
Dispatcher servlet이 클라이언트들의 요청을 한 곳으로 받아서 처리, 요청에 맞는 Handler로 요청을 전달하고 Http Response 형태로 만들어서 반환