Spring

자바 언어 기반의 프레임워크, 객체 지향 프로그램을 만들 수 있게 도와주는 프레임워크이다.

순수한 객체지향으로 돌아가기 위한 (POJO)를 가능하게 하는 DI 컨테이너를 가지고 있기 때문이다.

 

Spring Boot를 통해서 Spring 프레임워크를 편리하게 이용할 수 있다.

1. Spring boot는 단독 애플리케이션을 쉽게 생성한다. 빌드와 서버 Tomcat 내장으로 별도의 설치가 필요없다. 

2. starter 종속성을 제공한다. 연관된 라이브러리를 당겨올 수 있다.

3. 외부 라이브러리 버전을 별도로 확인할 필요가 없다. Spring 에서 자동 구성해주기 때문이다.

4. 메트릭, 상태 확인, 외부 구성 같은 프로덕션 준비 기능 제공

 

Spring boot만을 가지고 단독으로 사용하는 것이 아닌 Spring Framework 등 개발 편의성을 제공해주는 기능이다.

 

Spring MVC

MVC란 Model, View, Controller의 레이어로 이루어져 있다. 기존에 MVC는 Controller 단에 Dispatcher를 구현해서 View단의 JSP 페이지를 포워딩했다. 하지만 Spring MVC에서는 Controller(Servlet)와 Dispatcher를 분리해 하나의 Dispatcher과 JSP를 연결하고 여러 개의 Controller 중 연결이 필요한 Controller가 잘 알 수 있는 형식으로 요청을 연결할 수 있도록 돕는다.

 

Spring MVC는 서블릿 API 기반으로 만들어진 웹 프레임워크. 즉, Spring 프레임워크 기능 플러스 웹 애플리케이션 개발을 위한 라이브러리가 포함되어 있다. 

 

 


그렇다면, 어떨 때 Spring Boot를 사용하고, Spring MVC를 사용할까?

 

Spring Boot는 Spring 프레임워크를 사용하는 프로젝트에서 간편하게 셋업할 수 있도록 도와준다. Tomcat이 내장되어 있기 때문에 별도 미들웨어를 필요로 하지 않는 비교적 규모가 작은 애플리케이션 개발에 적합하다.

 

반면, 비교적 규모가 큰 회사는 Spring MVC 형태로 만들어 WAS 배포하는 것이 효율적이라고 한다.

 

 

 


Spring MVC (스프링 웹 MVC) 강의 01 - Spring MVC란 - YouTube

[10분 테코톡] 🌕제이의 Spring AOP - YouTube

POJO 정리

[SpringBoot] Spring과 Spring Boot의 차이

 

댓글