2021. 3. 4. 22:53ㆍ잡다한 IT 정보
# Spring vs Spring Boot
## Spring?
- 정확하게는 '스프링 프레임워크'이다.
- 스프링 프레임워크는 자바 생태계에서 가장 대중적인 응용프로그램 개발 프레임워크이다.
- 스프링 프레임워크(Spring Framework)는 자바 플랫폼을 위한 오픈소스 애플리케이션 프레임워크로서 간단히 스프링(Spring)이라고도 불린다. 동적인 웹 사이트를 개발하기 위한 여러 가지 서비스를 제공하고 있다.(출처: 위키백과)
<라이브러리 vs 프레임워크>
먼저 스프링에 대해 이해하기 위해서는 프레임워크가 무엇인지, 라이브러리와의 차이가 어떤건지 알고 가는게 가장 중요하다.
# 라이브러리
- 라이브러리는 간단하게 특정 기능을 하는 코드 뭉치이다.
- 개발자는 자기 코드에 라이브러리를 포함시키고 원하는 기능을 사용해서 개발을 할 수 있다.
- 더욱 간단하게는 원하는 기능을 하는 함수를 콜해서 사용하는 것으로 라이브러리를 활용한다.
# 프레임워크
- 프레임워크는 라이브러리를 포함하는 개념이고, 개발자가 만든 코드를 사용한다.
- 코드를 어떻게 실행하는지는 코드를 사용하는 프레임워크에 달려있다.
- 스프링 프레임워크는 여러 라이브러리를 제공하고, 그것을 활용해서 개발한 프로그램을 동작시키는 것
- 스프링 사이트에서는 스프링 프레임워크가 인프라와 관련된 내용을 애플리케이션 레벨에서 설정하도록 해줌으로써 개발자가 코드로 대부분을 컨트롤 할 수 있게끔 지원한다고 설명한다.
- 즉, 개발자가 코드 안에 애플리케이션 동작에 대한 내용을 기술하면 스프링 프레임워크가 이를 해석해서 동작하는 것이다.
<구동 방식 및 장점>
- 개발자는 API를 처리할 클래스를 정의하고 이것이 Servlet API 를 위한 클래스임을 표시(어노테이션 활용)한다.
- 그 이후 프로그램을 실행하면 스프링은 API 요청이 들어오면 해당 클래스를 이용해서 처리한다.
- 개발자가 Servlet에 관련된 것을 개발하지 않아도 되며, 데이터 바인딩, 객체 생성 등 왠만한 것들은 스프링이 알아서 해준다.
- 이런 편한 점 때문에 많은 개발자들이 스프링 프레임워크를 사용하고 있다.
## Spring Boot?
- 스프링 프레임워크는 기능이 많은만큼 환경설정이 복잡한 편이다.
- 이에 어려움을 느끼는 사용자들을 위해 나온 것이 바로 '스프링 부트'다.
- 스프링 부트는 스프링 프레임워크를 사용하기 위한 설정의 많은 부분을 자동화하여 사용자가 정말 편하게 스프링을 활용할 수 있도록 돕는다.
- 스프링 부트 starter 디펜던시만 추가해주면 바로 API를 정의하고, 내장된 탐캣이나 제티로 웹 애플리케이션 서버를 실행할 수 있다.
- 심지어 스프링 홈페이지의 이니셜라이저를 사용하면 바로 실행 가능한 코드를 만들어준다.
- 실행환경이나 의존성 관리 등의 인프라 관련 등은 신경쓸 필요 없이 바로 코딩을 시작하면 된다.
- 그리고 바로 그것이 스프링의 키 포인트이다.
참고: https://monkey3199.github.io/develop/spring/2019/04/14/Spring-And-SpringBoot.html
'잡다한 IT 정보' 카테고리의 다른 글
Swagger (0) | 2021.03.10 |
---|---|
프레임워크 vs 라이브러리 (0) | 2021.03.09 |
SMTP(Simple Mail Transfer Protocol) (0) | 2021.01.22 |
META-INF, WEB-INF (0) | 2021.01.22 |
검색엔진최적화(SEO) (0) | 2020.12.29 |