Spring의 종류와 장점
Spring

Spring의 종류와 장점

반응형

1.스프링이란?

스프링의 종류

  1. 스프링 프레임워크(지원 기술 대상을 알아보자)
    1. 핵심 기술: 스프링 DI 컨테이너, AOP, 이벤트, 기타
    2. 웹 기술 : 스프링 MVC, 스프링 WebFlux
    3. 데이터 접근 기술 : 트랜잭션, JDBC, ORM 지원, XML 지원
    4. 기술 통합 : 캐시, 이메일, 원격 접근, 스케쥴링
    5. 테스트 : 스프링 기반 테스트를 지원한다
    6. 언어 : 코틀린, 그루비
  2. 스프링 부트란?
    1. 스프링을 편리하게 사용할 수 있도록 지원한다.
    2. 단독으로 실행할 수 있는 스프링 애플리케이션을 생성한다.
    3. Tomcat 같은 웹 서버를 내장해서 별도의 웹 서버를 설치할 필요가 없다.
    4. 손쉬운 빌드 구성을 위한 starter를 제공한다.
    5. 스프링과 외부 라이브러리를 자동으로 구성해준다. Spring과 타 라이브러리의 버전을 전부 확인을 해주며 정보를 제공한다.
    6. 메트릭, 상태 확인, 외부 구성 같은 프로덕션 준비 기능을 제공한다.
    7. 기존의 Spring의 복잡한 설정을 Starter를 활용해 간결한 설정이 가능하다.
  3. 스프링 데이터
    1. 데이터베이스는 관계형, NoSql 종류로 나누어지는데 이러한 데이터 베이스를 편하게 사용해주는 기술
  4. 스프링 세션
    1. 세션의 편의 성을 위한 기술
  5. 스프링 시큐리티
    1. 보안 문제를 해결하기 위한 기술
  6. 스프링 Rest Docs
    1. API 문서와 테스트를 편하게 개발하기 위한 기술
  7. 스프링 배치
    1. 실무에서는 예를 들어 천만 명의 데이터를 한꺼번에 업데이트하는 건 어렵다. 그래서 백만 영씩 잘라서 배치 처리를 해야 하는데 이러한 배치 작업을 도와주는 기술이다.
  8. 스프링 클라우드
    1. 클라우드에 특화된 기술

스프링의 핵심 콘셉트는?

  • Tomcat을 내장하고 DB 접근이 편리한 기능 등의 실제적인 기술적인 장점이 있다.
  • 하지만 진짜 스프링의 핵심은 자바 언어 기반의 프레임워크이자 자바 언어의 가장 큰 특징인 객체 지향의 장점을 살린 기술이다.

객체 지향 측면에서의 스프링의 장점은?

  • 스프링은 SOLID의 OCP와 DIP를 가능하게 지원해주는 프레임워크이다.
  • DI(Dependency Injection): 의존관계, 의존성 주입
  • DI 컨테이너 제공 및 DL(Dependency Look up) 기능 제공 (ex:) Objectprovider, ObjectFactory)
  • 클라이언트 코드의 변경 없이 기능 확장 가능
  • 쉽게 부품을 바꾸듯 교체해서 개발 가능
반응형

'Spring' 카테고리의 다른 글

Spring 메시지, 국제화  (0) 2022.06.27
Spring의 Validation이란  (0) 2022.06.27
Spring MVC 구조 및 구현  (0) 2022.04.16
스프링 빈 기능  (0) 2022.04.12
좋은 객체 지향 설계의 5가지 원칙(SOLID)  (0) 2021.09.30