[ 최종 수정일 : 2023년 09월 20일 ]

 

 

클라이언트와 웹 컴포넌트


클라이언트가 웹 컨테이너의 컴포넌트에게 요청을 보내면 다이나믹한 컨텐츠를 클라이언트에게 렌더링합니다.여기서 웹 컨테이너는 단독적으로 실행될 수 없는 많은 종류의 웹 컴포넌트를 관리하며 라이프사이클이나 클라이언트의 요청을 정해진 컴포넌트에게 매핑하게 됩니다.

 

이것들을 자바에서 웹 컴포넌트는 서블릿, 이러한 서블릿을 관리하는 웹 컨테이너는 서블릿 컨테이너라고 합니다.

 

 

 

서블릿 컨테이너와 스프링 컨테이너(in IOC Container)


스프링 컨테이너는 서블릿 컨테이너의 뒤에 위치하며 클라이언트가 요청을 전송하면 서블릿 컨테이너는 받은 요청을 스프링 컨테이너의 특정 자바 빈에게 전달하여 요청을 처리하는 구조입니다.

 

서블릿 컨테이너라는 것은 분명히 필요하지만, 이것을 위해 개발자가 소요해야 하는 비효율적인 학습 곡선이 너무나 뚜렷하기 때문에, 스프링 부트는 서블릿 컨테이너같은 중간계층을 제거하고 스프링 컨테이너를 통해 개발하는 컨테이너리스 개발 환경을 제공하게 되었습니다.

 

즉, 컨테이너리스 환경을 통해 개발된 독립 실행형 애플리케이션(Standalone application)은 컨테이너 오케스트레이션 플랫폼을 통해 배포하게 되고 이러한 개발 방식을 컨테이너리스 개발 방식이라고 합니다.

 

 

 

 

부제 : 부트는 Opinionated


스프링 프레임워크는 다양한 관점을 수용함에 따라 굉장히 유연한 성격을 띄고 있습니다.

이러한 스프링 프레임워크의 철학은 수많은 장점 속, 분명한 단점이 존재합니다.

스프링 프레임워크는 이러한 철학으로 인해 개발자들은 어떻게 개발 환경을 설정하고 어떠한 기술 스택을 선택해야할 지 오랜시간 고민해야 했습니다.

 

이러한 과정을 보다 효율적으로 사용하고자 나온 것이 스프링 부트입니다.

부트는 정해진 스트럭처에 따라 최적의 개발환경을 개발자에게 제공하며 필요에 따라 개발자는 부트가 제공하는 옵션들을 변경하여 사용할 수 있습니다.

 

 

Spring | Blog

 

'Spring boot > Spring boot' 카테고리의 다른 글

@Bean, @Component  (0) 2023.10.08
Spring MVC Structure  (0) 2023.10.05
Dependency Injection(의존성 주입)  (0) 2023.09.28
스프링 부트 기본 환경 설정  (0) 2023.09.27

+ Recent posts