찬환
천천히 꾸준하게
찬환
전체 방문자
오늘
어제
  • 분류 전체보기 (19)
    • Problem Solving (2)
      • BOJ (2)
    • Algorithm (3)
    • Java (1)
    • CS (7)
      • 컴퓨터구조 (3)
      • 운영체제 (2)
      • 데이터베이스 (2)
    • Web (0)
    • Spring (1)
    • Git (2)
    • 북스터디 (2)
      • 이펙티브 자바 (2)
    • Tech Stack (0)
    • 끄적끄적 (1)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

공지사항

인기 글

태그

  • 이펙티브 자바
  • 주사위굴리기
  • 브랜치 전략
  • backtracking
  • 이펙티브자바
  • 빌더패턴
  • 폰노이만구조
  • 프로세스_메모리_구조
  • git flow
  • Key의 종류
  • 삼성SW역량
  • Arrays메서드
  • Udacity_git_commit_message_style_guide
  • 컴퓨터의_구성요소
  • Arrays정리
  • Boj_14499
  • 운영체제
  • ITEM_2
  • BOJ
  • Spring Ecosystem
  • 삼성 B형
  • SpringBoot
  • cs
  • B형 후기
  • java.util.arrays
  • 정적팩터리메서드
  • BOJ_2580
  • effective_java
  • 컨텍스트_스위칭
  • 알고리즘

최근 댓글

최근 글

티스토리

hELLO · Designed By 정상우.
찬환

천천히 꾸준하게

왜 스프링(Spring)은 강력한 도구가 되었을까?
Spring

왜 스프링(Spring)은 강력한 도구가 되었을까?

2023. 12. 18. 01:17
728x90

스프링(Spring) 이란?

  • 스프링은 JAVA의 객체 지향 언어가 가진 강력한 특징을 살려내는 프레임워크(Framework)
  • JAVA로 다양한 애플리케이션을 만들 수 있는 프로그래밍 도구
  • 비즈니스 로직에만 집중할 수 있도록 다양한 기능을 제공

 

프레임워크(Framework) vs 라이브러리(Library)

프레임워크 : 제공되는 틀에 따라 코드를 작성해야 한다 (통제권을 프레임워크가 가짐)

라이브러리 : 개발에 필요한 코드를 구현해 놓은 집합으로 개발자가 이를 호출하여 사용

 

스프링 생태계 (Spring Ecosystem)

스프링이 웹 개발을 위한 도구라는 것은 잘 알려진 사실입니다.

하지만 스프링 프레임워크 하나만으로 강력한 도구가 될 수는 없습니다.

스프링이 강력한 도구가 된 이유에는 스프링 생태계가 있기 때문입니다.

 

Spring Framework Ecosystem

Spring Framework Ecosystem

 

이제 스프링 생태계의 기술을 간단하게 알아보겠습니다.

 

핵심 기술

  • Spring (스프링)
    • 종속성 주입, 트랜잭션 관리, 웹 앱, 데이터 액세스, 메시징 등에 대한 핵심 지원을 제공
  • Spring Boot
    • Spring 애플리케이션 구축을 가능한 한 빨리 시작하고 실행할 수 있도록 도움

 

선택적 기술

  • Spring Data
    • 관계형, 비관계형, 맵 축소 등 데이터 액세스에 대한 일관된 접근 방식을 제공
  • Spring Security
    • 포괄적이고 확장 가능한 인증 및 권한 부여 지원으로 애플리케이션을 보호
  • Spring Cloud
    • 분산 시스템의 일반적인 패턴에 대한 도구 셋을 제공한다.
    • 마이크로 서비스를 구축하고 배포하는데 유용하게 사용된다.
  • Spring Session
    • 사용자의 세션 정보를 관리하기 위한 API 및 구현을 제공한다.
  • Spring REST Docs
    • Spring MVC Test 또는 REST Assured로 생성된 스니펫과 직접 작성한 문서를 결합하여 RESTful 서비스를 문서화 해주는 기능을 제공
  • Spring Batch
    • 대용량 배치 작업 처리 작업을 단순화하고 최적화 해주는 도구
  • Spring AMQP
    • AMQP 기반의 메시징 솔루션 개발에 핵심 Spring 개념을 적용

 

등등.. 더 많은 스프링 생태계의 기술들을 볼 수 있는 링크를 달아두겠습니다.

스프링 백엔드 개발자를 꿈꾼다면 한 번쯤 보는 것도 도움이 될 것 같습니다.

https://spring.io/projects/

 

이렇듯 스프링 혹은 스프링 부트 프레임워크만 배우는 것은 스프링을 잘 활용하지 못하는 것일 수 있습니다.

인증, 인가 처리에는 Spring Security를, MSA 구축에는 Spring Cloud를, API 문서화에는 Spring Rest Docs 등등 적절한 기술을 이해하고 사용하는 것이 중요할 것 같습니다.

 

마치며

스프링과 스프링부트가 왜 강력한 도구가 되었는지 살펴보았는데, 스프링을 배우는 시작 단계라면 Spring 과 SpringBoot에 대한 이해를 한 후 그와 연관된 다양한 주변 기술을 비교하며 적용하는 것이 Spring 을 정말 잘 다루는 좋은 개발자가 될 수 있는 지름길이 아닐까 싶습니다.

728x90
저작자표시 (새창열림)
    찬환
    찬환
    공부한 내용을 포스팅하는 IT 기술블로그입니다.

    티스토리툴바