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