티스토리 뷰

JAVA/Spring Framework

스프링이란?

tsgoing 2021. 2. 21. 10:10

스프링의 필수 : 스프링 프레임워크 , 스프링 부트

 

선택

스프링 데이터: 데이터베이스 - 기본적인 CRUD 비슷을 도와주는 기술(Spring Data JPA 많이 사용)

 

스프링 세션 : 세션 기능을 편리하게 도와주는 거

 

스프링 시큐리티: 보안 관련

 

스프링 Rest Docs: API 문서를 편리하게 해주는 거

 

스프링 배치: 실무에서는 천만명의 데이터를 실시간으로 업데이트 하는 거 어려움- 1000건 퍼올려서 저장 (배치 처리)

-배치처리에 특화

 

스프링 클라우드

- 클라우드 기술에 특화

 

스프링 홈페이지: spring.io/projects 

 

 

Spring | Projects

Spring Framework Provides core support for dependency injection, transaction management, web apps, data access, messaging, and more.

spring.io

스프링 프레임워크

 

1. 핵심 기술: 스프링 DI  컨테이너, AOP, 이벤트, 기타(모든 라이브러리 활용) 

2. 웹 기술: 스프링 MVC, 스프링 WebFlux

3. 데이터 접근 기술: 트랜잭션, JDBC, ORM 지원, XML 지원

4. 기술 통합: 캐시, 이메일, 원격 접근, 스케줄링

5. 테스트: 스프링 기반 테스트 지원

6. 언어: 코틀린

- 최근에는 스프링 부트를 통해서 스프링 프레임워크의 기술들을 편리하게 사용.

 

스프링 부트

 

1. 스프링을 편리하게 사용할 수 있도록 지원, 최근에는 기본으로 사용

 

2. 단독으로 실행할 수 있는 스프링 애플리케이션을 쉽게 생성

 

3. Tomcat 같은 웹 서버를 내장해서 별도의 웹 서버를 설치하지 않아도 됨.

과거의 방식: 빌드 -> Tomcat 서버라는 걸 받아서 별도로 설치

-> Tomcat 서버에 빌드한 스프링 프로젝트를 넣고 띄우고 복잡

하지만 스프링부트는 빌드하고 서버 띄우는 걸 자체적으로 하고 몇 초만에 띄어지는 장점

 

4. 손쉬운 빌드 구성을 위한 starter 종속성 제공

- 라이브러리를 편하게 하나만 땡기면 스타터가 나머지 라이브러리를 자동으로 땡겨오는 장점

 

5. 스프링과 3rd parth(외부) 라이브러리 자동 구성

- 버전을 지가 알아서 궁합을 맞춰서 자동으로 가져옴

 

6. 메트릭, 상태 확인 , 외부 구성 같은 프로덕션 기능 준비 기능 제공

- 운영: 모니터링 환경 중요, - 스프링 부트가 기본적으로 제공

 

7. 관례에 의한 간결한 설정

- 과거에는 설정하기 어려웠는데 설정이 정말 편리해짐.

 

오해하면 안되는 것: 기본적으로 스프링부트는 스프링 프레임워크와 별도로 사용할 수 있는 게 아님

- 스프링부트 - 중간에서 편리하게 해주는 기능을 제공

- 꼭 스프링 프레임워크를 사용해서 필요한 걸 땡겨오는 걸 하는 거임

 

스프링 단어?

 

- 스프링이라는 단어는 문맥에 따라 다르게 사용된다.

 

 1) 스프링 DI 컨테이너 기술

 - 스프링 Bean을 관리

 2) 스프링 프레임워크

 3) 스프링 부트 , 스프링 프레임워크 등을 모두 포함한 스프링 생태계

 

스프링을 왜 만들었을까?

 

핵심 개념: 매우 복잡하고 커보이지만 핵심을 알면 쉬워진다.

 

- 스프링은 자바 언어 기반의 프레임워크 

- 자바 언어의 가장 큰 특징 - 객체 지향 언어

- 스프링은 객체 지향 언어가 가진 강력한 특징을 살려내는 프레임워크

- 스프링은 좋은 객체 지향 애플리케이션을 개발할 수 있게 도와주는 프레임워크

 

 과거에 EJB로 개발했을 때는 EJB에 의존적으로 개발을 해야하기 때문에 자바가 가진 객체지향의 장점을

하나도 활용하지 못함. - 그냥 EJB에 종속이 됨 -> 순수한 객체지향(POJO)으로 돌아가자-> 스프링 탄생

 

[출처] 인프런 - 스프링 핵심 원리 기본편 - 김영한님의 강의를 듣고 정리한 내용입니다.

 

최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2024/10   »
1 2 3 4 5
6 7 8 9 10 11 12
13 14 15 16 17 18 19
20 21 22 23 24 25 26
27 28 29 30 31
글 보관함