ETC
[ETC] 스프링 프레임워크와 스프링 부트
기록하는_사람
2022. 11. 5. 13:36
스프링 프레임워크
📌 스프링 프레임워크
: 자바 기반의 오픈소스 프레임워크.
📌 특징
① 경량 컨테이너.
: 객체 생성, 소멸 등 생명 주기 관리하며, 스프링 컨테이너로부터 필요한 객체 얻어 올 수 있음.
② 제어의 역행(Inversion of Control, IoC) 지원.
: 필요에 따라 스프링에서 사용자 코드 호출.
③ 의존성 주입(Dependency Injection, DI) 지원.
: 각 계층이나 서비스 간에 의존성이 존재할 경우, 서로 연결.
④ 관점 지향 프로그래밍(Aspect-Oriented Programming, AOP) 지원.
: 공통적으로 사용하는 기능 분리하여 관리.
스프링 부트
📌 스프링 부트
: 스프링 프레임워크 쉽게 사용하기 위한 도구.
📌 스프링 부트2 특징
: 리액티브 스택(Reactive Stack)과 서블릿 스택(Servelt Stack) 구분.
📌 리액티브 스택(Reactive Stack)
: 새로운 비동기 논블로킹 I/O 구조를 사용하며, 대규모 사용자 접속 처리에 유리한 구조로 설계됨.
네티, 언더토우 및 서블릿 3.1 이상의 컨테이너 사용.
Spring WebFlux 프레임워크 사용.
📌 서블릿 스택(Servelt Stack)
: 서블릿 API에 기반한 동기 방식의 블로킹 I/O 구조 사용하며, 하나의 요청은 하나의 쓰레드로 처리됨.
서블릿 컨테이너 사용.
Spring MVC 기반 서버 프로그램 개발과 JPA, JDBS, NoSQL 데이터베이스 지원 포함함.