[About Spring] 스프링의 핵심 원리

고지훈·2022년 11월 20일
0

About Spring

목록 보기
1/4

Record: 2022.11.20 / 20:33

About Spring

스프링은 어떤 특정한 하나의 기술이 아닌, 여러가지 기술의 집합체이다. 그 기술의 형태는 다음과 같다.

  1. 스프링 프레임워크
    • 스프링의 가장 핵심 기술인 스프링 프레임워크
  2. 스프링 부트
    • 여러기술을 편리하게 사용할 수 있도록 도움을 주는 스프링 부트
  3. 스프링 데이터
    • CRUD를 편리하게 사용할 수 있도록 도움을 주는 스프링 데이터
  4. 스프링 시큐리티
    • 보안과 관련된 기능을 지원하는 스프링 시큐리티
  5. 스프링 배치
    • 실시간으로 응대하기 힘든 일을 정해진 시간에 동작할 수 있도록 도움을 주는 스프링 배치
  6. 스프링 세션
    • 세션을 편리하게 사용할 수 있도록 도움을 주는 스프링 세션
  7. 스프링 Rest Docs
    • API문서와 테스트기능을 하나로 묶어 편리하게 사용할 수 있도록 해주는 스프링 Rest Docs
  8. 스프링 클라우드
    • 클라우드에 특화된 기술인 스프링 클라우드

이 중 스프링 프레임워크와 스프링 부트는 필수로 구분되고, 그 외의 기술은 필요에 따라 선택하여 사용할 수 있다.


About Spring Framework

스프링 프레임워크에 대해 간단히 요약하자면 다음과 같다. 현재는 스프링 프레임워크의 기술을 편리하고 간단하게 사용하기 위해 스프링 부트를 사용한다.

  1. 핵심기술: 스프링 DI Container, AOP, Event
  2. 웹기술: 스프링 MVC, 스프링 WebFlux
  3. 데이터 접근기술: 트랜잭션, JDBC, ORM, XML
  4. 기술통합: 캐시, 이메일, 스케줄링
  5. 테스트: 스프링 기반 테스트지원
  6. 언어: 코틀린, 그루비

About Spring Boot

스프링 프레임워크를 편리하게 사용할 수 있도록 하기 위해 스프링 부트가 개발되었다. 스프링 부트의 특징을 간단히 작성하자면 다음과 같다.

  1. 단독으로 실행할 수 있는 스프링 어플리케이션을 쉽게 생성할 수 있다.
  2. Tomcat 웹서버를 내장하여, 별도의 웹서버를 설치하지 않아도 된다.
  3. 간편한 빌드 구성을 위한 starter 종속성을 제공한다.
  4. 스프링과 third parth 라이브러리를 자동으로 구성한다.
  5. 메트릭, 상태 확인, 외부 구성과 같은 프로덕션 준비기능을 제공한다.
  6. 관례에 의한 간결한 설정

About Spring Word

스프링이라는 단어는 문맥에 따라 다르게 사용된다. 그 종류는 아래와 같다.

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

About Spring Concept

필자는 스프링이라는 개념을 처음 배웠을 때 웹 어플리케이션을 만들고 DB접근을 편리하게 해주기 위한 프레임워크라고 생각했다. 이 생각도 맞지만, 스프링의 핵심은 다음과 같다.

스프링은 자바 언어 Base의 프레임워크 → 따라서 객체지향의 특성을 갖고 있다. 그러므로 스프링을 한 문장으로 표현하자면 다음과 같다.

스프링은 좋은 객체지향 어플리케이션을 개발할 수 있도록 도움을 주는 프레임워크라고 할 수 있다.

profile
"계획에 따르기보다 변화에 대응하기를"

0개의 댓글