Spring 이란?

김동호·2022년 4월 29일
0
post-thumbnail

Spring

  • 정확하게는 스프링 프레임 워크이다. 자바 플랫폼을 위한 오픈소스 애플리케이션 프레임 워크로서 간단히 Spring이라고도 불린다. 동적인 웹 사이트를 개발하기 위한 여러 가지 서비스를 제공하고 있다.

사전 정의

  1. 라이브러리
    • 자주 사용되는 로직을 재사용하기 편리하도록 잘 정리한 일련의 코드들의 집합을 의미
    • 특정 기능을 하게 하는 코드 뭉치로서, 개발자는 라이브러리를 포함시켜 원하는 개발을 할 수가 있다.
  2. 프레임워크
    • 소프트웨어의 구체적인 부분에 해당하는 설계와 구현을 재사용이 가능하게끔 일련의 협업화된 형태로 클래스들을 제공하는 것
  • 정리
    • 프레임워크란 공장에서 라이브러리란 장비를 사용하여 개발 및 서비스를 제공하는 것이다.
      • 여기서 공장프레임워크이며 물품을 만들기 위해 필요한 장비라이브러리라고 생각하면 된다.
      • 물론 공장(프레임워크)에서도 기본적인 동작을 하므로 공장(프레임워크)라고 해서 아무런 기능이 없이 라이브러리로 만 동작을 하는 것은 아니다.

Spring 이란?

  • 정확하게는 스프링 프레임 워크이다. 자바 플랫폼을 위한 오픈소스 애플리케이션 프레임 워크로서 간단히 Spring이라고도 불린다. 동적인 웹 사이트를 개발하기 위한 여러 가지 서비스를 제공하고 있다.
  • 스프링 사이트에서는 스프링 프레임워크가 인프라와 관련된 내용을 애플리케이션 레벨에서 설정하도록 해줌으로써 개발자가 코드로 대부분을 컨트롤할 수 있게끔 지원한다.
  • 즉. 개발자가 코드 안에 애플리케이션 동작에 대한 내용을 기술하면 스프링 프레임워크가 이를 해석하여 동작을 한다.
  • ex) Servlet API
    개발자는 API를 처리할 클래스를 정의하고 이것이 Servlet API를 위한 클래스임을 표시한다. 그 이후 프로그램을 실행하면 스프링은 API 요청이 들어오면 해당 클래스를 이용해서 처리한다. 이에 개발자가 Servlet에 관련된 것을 개발하지 않아도 되며, 데이터 바인딩, 객체 생성 등 웬만한 것들은 스프링이 알아서 해준다.

Spring Boot란?

  • Spring Framework는 기능이 많은 만큼 환경설정이 복잡한 편이다. 이에 어려움을 느끼는 사용자들을 위해 나온 것이 Spring Boot이다. Spring Boot는 Spring Framework를 사용하기 위한 설정의 많은 부분을 자동화하여 사용자가 정말 편하게 스프링을 활용할 수 있도록 돕는다.
  • Ex) Spring Boot Starter 디펜던시만 추가해주면 바로 API를 정의하고, 내장된 tomcat이나 jetty로 웹 서버를 실행할 수 있다.

참조

Spring vs Spring Boo

<프레임 워크와 라이브러리>

https://moolgogiheart.tistory.com/87

<Spring과 Spring Boot>

https://monkey3199.github.io/develop/spring/2019/04/14/Spring-And-SpringBoot.html

profile
Backend Dev

0개의 댓글