✔️ Spring vs Spring MVC vs Spring Boot
Spring
- Spring 프레임워크에서 의존성 주입은 가장 중요한 특징임
- 의존성 주입을 적절히 사용하면 느슨하게 결합된 애플리케이션을 개발할 수 있으며
느슨하게 결합된 애플리케이션들은 단위 테스트를 하기 쉽도록 만듦 - 스프링 프레임워크에서는 간단한 어노테이션인 @Component와 @Autowired를 사용해
의존성 주입을 이용하여 느슨한 결합을 하도록 함 - 또한 많은 스프링 모듈을 사용해 의존성 주입의 핵심을 구성함
- 이미 해결된 문제의 경우 이 솔루션을 제공하는 다른 프레임워크들과의 좋은 통합을 통해 사용하도록 함
Spring MVC
- Spring MVC 프레임워크는 디커플된 웹 애플리케이션 개발 방법을 적용해
Dispatcher Servelet, ModelAndView, View Resolver와 같은 단순 개념을 이용해 웹 애플리케이션 개발을 쉽게 하도록 함
Spring Boot
- Spring 기반 애플리케이션은 많은 환경 설정이 필요했던 부분을 자동으로 구성하도록 제공함
- 편리한 종속성 기술자들인 스타터들을 사용해 의존성 관리, 권장 버전을 모두 자동으로 관리해주므로
쉽게 어플리케이션을 개발할 수 있음 - 그 외에도 개발이나 유지보수에 도움을 주는 스타터들을 사용해
빠른 시간에 애플리케이션이 제품이 될 수 있도록 하는 것을 목표로 함
Spring | Spring MVC | Spring Boot |
응용 프로그램을 빌드하는데 널리 사용되는 Java EE 프레임워크 |
스프링 프레임워크의 모델 뷰 컨트롤러 기반 웹 프레임워크 |
REST API를 개발하는데 널리 사용되며 스프링 기반 응용 프로그램을 합리적인 기본값으로 패키징하기 위한 프레임워크 |
개발자의 생산성을 높이는 Java EE 개발 단순화를 목표로 함 |
웹 응용 프로그램을 빌드하는데 사용할 수 있는 기능을 제공함 |
코드의 길이를 줄이고 웹 응용 프로그램을 개발하는데 가장 쉬운 방법을 제공하는 것을 목표로 함 |
종속성 주입이라는 주요 기능을 가짐 | 빌드 구성을 수동으로 수행해야 함 | 자동 구성을 통해 요구사항에 따른 클래스를 자동으로 구성함 |
느슨하게 결합된 애플리케이션을 개발할 수 있게 함으로써 단순화하는데 도움을 줌 |
배포 구성이 필요함 | 더 적은 구성으로 독립 실행형 응용 프로그램을 만드는데 도움이 됨 |
최소한의 작업을 수행하기 위해 많은 코드를 작성해야 함 |
각 종속성을 별도로 지정함 | 최소한의 작업을 수행하기 위한 코드의 작성이 줄어듦 |
스프링 프로젝트를 테스트하려면 서버를 명시적으로 설정해야 함 |
임베디드 서버를 제공함 | |
메모리 내 데이터베이스를 지원하지 않음 | 내장형 및 인메모리 데이터베이스 관련 작업을 위한 여러 플러그인을 제공함 |
|
pox.xml에서 스프링 프로젝트에 대한 종속성을 수동으로 정의함 |
스프링 부팅 요구 사항에 따라 종속성 JAR을 내부적으로 다운로드하는 pom.xml 파일의 스타터 개념을 제공함 |
'Tech Interview > Language' 카테고리의 다른 글
[Language] Container (0) | 2024.03.28 |
---|---|
[Language] Bean (0) | 2024.03.28 |
[Language] 스프링 프레임워크 (0) | 2024.03.27 |
[Language] 고유 락 (0) | 2024.03.27 |
[Language] 스레드 (0) | 2024.03.27 |
✔️ Spring vs Spring MVC vs Spring Boot
Spring
- Spring 프레임워크에서 의존성 주입은 가장 중요한 특징임
- 의존성 주입을 적절히 사용하면 느슨하게 결합된 애플리케이션을 개발할 수 있으며
느슨하게 결합된 애플리케이션들은 단위 테스트를 하기 쉽도록 만듦 - 스프링 프레임워크에서는 간단한 어노테이션인 @Component와 @Autowired를 사용해
의존성 주입을 이용하여 느슨한 결합을 하도록 함 - 또한 많은 스프링 모듈을 사용해 의존성 주입의 핵심을 구성함
- 이미 해결된 문제의 경우 이 솔루션을 제공하는 다른 프레임워크들과의 좋은 통합을 통해 사용하도록 함
Spring MVC
- Spring MVC 프레임워크는 디커플된 웹 애플리케이션 개발 방법을 적용해
Dispatcher Servelet, ModelAndView, View Resolver와 같은 단순 개념을 이용해 웹 애플리케이션 개발을 쉽게 하도록 함
Spring Boot
- Spring 기반 애플리케이션은 많은 환경 설정이 필요했던 부분을 자동으로 구성하도록 제공함
- 편리한 종속성 기술자들인 스타터들을 사용해 의존성 관리, 권장 버전을 모두 자동으로 관리해주므로
쉽게 어플리케이션을 개발할 수 있음 - 그 외에도 개발이나 유지보수에 도움을 주는 스타터들을 사용해
빠른 시간에 애플리케이션이 제품이 될 수 있도록 하는 것을 목표로 함
Spring | Spring MVC | Spring Boot |
응용 프로그램을 빌드하는데 널리 사용되는 Java EE 프레임워크 |
스프링 프레임워크의 모델 뷰 컨트롤러 기반 웹 프레임워크 |
REST API를 개발하는데 널리 사용되며 스프링 기반 응용 프로그램을 합리적인 기본값으로 패키징하기 위한 프레임워크 |
개발자의 생산성을 높이는 Java EE 개발 단순화를 목표로 함 |
웹 응용 프로그램을 빌드하는데 사용할 수 있는 기능을 제공함 |
코드의 길이를 줄이고 웹 응용 프로그램을 개발하는데 가장 쉬운 방법을 제공하는 것을 목표로 함 |
종속성 주입이라는 주요 기능을 가짐 | 빌드 구성을 수동으로 수행해야 함 | 자동 구성을 통해 요구사항에 따른 클래스를 자동으로 구성함 |
느슨하게 결합된 애플리케이션을 개발할 수 있게 함으로써 단순화하는데 도움을 줌 |
배포 구성이 필요함 | 더 적은 구성으로 독립 실행형 응용 프로그램을 만드는데 도움이 됨 |
최소한의 작업을 수행하기 위해 많은 코드를 작성해야 함 |
각 종속성을 별도로 지정함 | 최소한의 작업을 수행하기 위한 코드의 작성이 줄어듦 |
스프링 프로젝트를 테스트하려면 서버를 명시적으로 설정해야 함 |
임베디드 서버를 제공함 | |
메모리 내 데이터베이스를 지원하지 않음 | 내장형 및 인메모리 데이터베이스 관련 작업을 위한 여러 플러그인을 제공함 |
|
pox.xml에서 스프링 프로젝트에 대한 종속성을 수동으로 정의함 |
스프링 부팅 요구 사항에 따라 종속성 JAR을 내부적으로 다운로드하는 pom.xml 파일의 스타터 개념을 제공함 |
'Tech Interview > Language' 카테고리의 다른 글
[Language] Container (0) | 2024.03.28 |
---|---|
[Language] Bean (0) | 2024.03.28 |
[Language] 스프링 프레임워크 (0) | 2024.03.27 |
[Language] 고유 락 (0) | 2024.03.27 |
[Language] 스레드 (0) | 2024.03.27 |