앞서 Spring이 무엇인지 알아봤다.
https://standout.tistory.com/123
또한 Spring Boot의 구조에 대해서도 알아봤는데,
https://standout.tistory.com/458
그렇다면 이 Spring과 Spring Boot는 차이가 뭘까?
스프링 프레임워크와 스프링 부트는 모두 자바 기반의 웹 애플리케이션 개발에 사용되는 프레임워크
하지만 둘은 목적과 사용 방법에서 차이가 있다.
스프링 프레임워크는 대규모 애플리케이션 개발을 위해,
스프링 부트는 작은 규모의 애플리케이션 개발을 위해 사용되는 것이 일반적이다.
스프링 프레임워크는 개발자가 애플리케이션을 완벽하게 컨트롤할 수 있지만, 설정이 복잡해지는 단점이 있고, 스프링 부트는 설정이 자동화되어 있어서 개발자가 더 쉽게 개발할 수 있지만, 커스터마이징에 제한이 있을 수 있다.
Spring Framework
스프링 프레임워크
대규모 애플리케이션 개발을 위해 만들어진 프레임워크
개발자가 애플리케이션의 모든 부분을 수동으로 설정하고 구성해야
다양한 모듈을 제공하여 개발자가 필요한 기능을 선택해서 사용할 수 있다.
이 과정에서 설정이 복잡해질 수 있으며 초기 설정과 프로젝트 구성이 번거로울 수 있다.
대한민국 공공기관의 웹 서비스 개발 시 사용을 권장하고 있는 전자정부 표준프레임워크의 기반 기술로서 쓰이고 있다.
Spring Boot
스프링 부트는
스프링 프레임워크의 설정 과정을 자동화하여 개발자가 간단하게 웹 애플리케이션을 만들 수 있도록 도와주는 도구
스프링 부트는 내부에 Tomcat, Jetty 등의 서버를 내장하고 있으며,
설정 파일이나 라이브러리 의존성 등을 자동으로 처리한다.
또한 스프링 부트는 개발자가 웹 애플리케이션을 보다 쉽게 배포할 수 있도록 다양한 기능을 제공한다.
그렇다면 도대체 '뭐'가 다르단 걸까?
간단히 읽고 이해만 하고 넘어가보자.
1) Embed Tomcat을 사용
따로 Tomcat을 설치하거나 매번 버전을 관리해 주어야 하는 수고로움을 던다.
2) starter을 통한 dependency 자동화
Spring framework에서는 각각의 dependency들의 호환되는 버전을 일일이 맞추어 주어야 한다.
starter는 대부분의 dependency를 관리해주기 때문에 이러한 걱정을 덜게된다.
3) XML설정을 하지 않아도 된다.
4) jar file을 이용해 자바 옵션만으로 손쉽게 배포가 가능하다.
Spring Actuaor를 이용한 애플리케이션의 모니터링과 관리를 제공한다.
https://standout.tistory.com/587
https://standout.tistory.com/588
https://standout.tistory.com/598
'JAVA > Spring' 카테고리의 다른 글
Annotation - @NoArgsConstructor (0) | 2023.06.25 |
---|---|
Spring MyBatis와 MyBatis 의 차이 (0) | 2023.06.25 |
Spring 버전별 특징 (0) | 2023.05.10 |
RestTemplate이란? (0) | 2023.05.10 |
Annotation - @RestController (0) | 2023.05.10 |