스프링이란?

Sunny·2023년 3월 3일
0

스프링이란 무엇일까?

스프링이란 단어는 문맥에 따라 다르게 사용된다.
제일 큰 의미로는 스프링 생태계가 있다. 이를 먼저 알아보자.

🌱 스프링 생태계

스프링의 생태계는 거대하다. 다음 이미지 2장을 참고하면 이해가 조금 될 것이다.

우리가 흔히 알고 있는 스프링 프레임워크스프링 부트는 스프링 생태계의 구성원이며, 이 2가지는 필수로 알아야한다.

그러면 그 둘에 대해서 자세히 알아보자.


🌱 스프링 프레임워크

스프링 프레임워크란 OOP(객체지향 프로그래밍) 프레임워크이다.

스프링 프레임워크의 기술들은 다음과 같다. 정확한 의미는 이후에 천천히 공부해보도록 하자.

  • 핵심 기술 : 스프링 DI 컨테이너, AOP, 이벤트, 기타
  • 웹 기술 : 스프링 MVC, 스프링 WebFlux
  • 데이터 접근 기술 : 트랜잭션, JDBC, ORM 지원, XML 지원
  • 기술 통합 : 캐시, 이메일, 원격접근, 스케줄링
  • 테스트 : 스프링 기반 테스트 지원
  • 언어 : 코틀린, 그루비
  • 최근에는 스프링 부트를 통해서 스프링 프레임워크의 기술들을 편리하게 사용

그렇다면 스프링 부트는 무엇일까? 알아보자.


🌱 스프링 부트

  • 스프링을 편리하게 사용할 수 있도록 지원
  • 단독으로 실행할 수 있는 스프링 애플리케이션을 쉽게 생성
  • Tomcat 같은 웹 서버를 내장해서 별도의 웹 서버를 설치하지 않아도 됨
  • 손쉬운 빌드 구성을 위한 starter 종속성 제공
  • 스프링과 3rd party(외부) 라이브러리 자동 구성
  • 메트릭, 상태 확인, 외부 구성 같은 프로덕션 준비 기능 제공
  • 관례에 의한 간결한 설정

이제 다시 위에서 전부 나누지 못했던 스프링의 의미에 대해서 말해보자.

스프링의 의미는 통상 다음을 의미한다.

  • 스프링 DI 컨테이너 기술
  • 스프링 프레임워크
  • 스프링 부트, 스프링 프레임워크 등을 모두 포함한 스프링 생태계

그렇다면, 스프링은 왜 만들었을까?
스프링의 진짜 핵심은 다음에 있다.

  • 스프링은 자바 언어 기반의 프레임워크
  • 자바 언어의 가장 큰 특징 - 객체 지향 언어
  • 스프링은 객체 지향 언어가 가진 가장 강력한 특징을 살려내는 프레임워크
  • 스프링은 좋은 객체 지향 애플리케이션을 개발할 수 있게 도와주는 프레임워크

그렇다면, 좋은 객체 지향 프로그래밍이 무엇인지는 다음 글에서 알아보자.

profile
개발에 재미를 붙여보기 :)

0개의 댓글