Spring Web

2025. 4. 9. 09:33JAVA언어/Spring

Spring Frame Work의 한 부분

 

자바 기반의 오픈소스 애플리케이션 프레임워크로 엔터프라이즈급 애플리케이션을 구축하기 위한 다양한 기능 제공

특히 웹 애플리케이션을 위한 여러가지 도구와 기능을 제공

 

1. Spring MVC (Model-View-Controller)

Spring Web의 핵심

이 구조는 애플리케이션을 세 가지 주요 컴포넌트인 모델, 뷰, 컨트롤러로 나누어 개발하는 패턴

웹 애플리케이션에서 HTTP 요청을 처리하고 적절한 응답을 반환하는 구조 제공

 

Model: 애플리케이션의 데이터를 나타내며, 일반적으로 POJO(Plain Old Java Object) 객체로 구성

View: 사용자에게 보여지는 화면을 담당, JSP, Tymeleaf, FreeMarker 등 다양한 템플릿 엔진을 사용

Controller: HTTP 요청을 처리하고, 적절한 모델을 뷰로 전달하는 역할

 

2. DispatcherServlet

Spring MVC에서의 DispatcherServlet은 모든 요청을 중앙에서 처리하는 서블릿

요청을 보내면 DispatcherServlet이 적절한 컨틀롤러로 전달, 그 컨트롤러는 비즈니스 로직을 처리하여 결과 반환

 

3. Spring Boot와의 통합

Spring Boot는 Spring 애플리케이션을 더 쉽게 설정하고 실행할 수 있게 해주는 도구

Spring Web은 Spring Boot와 함께 사용되어, 웹 애플리케이션을 빠르고 간편하게 개발할 수 있게 도와줌

Spring Boot를 사용하면 자동 설정, 내장 웹 서버(Tomcat, Jetty 등) 지원 등으로 설정과 배포가 매우 간단해짐

 

4. RESTful 웹 서비스 지원

Spring MVC와 함께 @RestController @RequestMapping @GetMapping @PostMapping 등과 같은 어노테이션을 사용하여 RESTful서비스를 구현할 수 있음.

 

5. 기타 주요 기능

폼 처리: Spring Web은 웹 폼을 쉽게 처리할 수 있는 기능 제공. 폼 데이터를 객체에 바인딩하고 검증하는 작업 지원

인터셉터: Spring Web에서는 요청과 응답을 처리하기 전에 또는 후에 특정 작업을 수행할 수 있는 인터셉터 기능 제공

(ex: 로그 기록, 보안 검사 등)

파일 업로드: Spring Web은 파일 업로드 기능도 제공. Multipart 파일을 쉽게 처리할 수 있는 도구 제공

 

6. 뷰 템플릿

Spring Web은 여러 가지 뷰 템플릿 엔진을 지원, 기본적으로 JSP를 사용할 수 있지만, Thymeleaf, FreeMarker, Velocity 등의 다른 템플릿 엔진도 사용

이들은 모두 HTML 파일에서 동적으로 데이터를 렌더링하는데 유용

 

7. 기타 관련 기술

Spring Security: Spring Web 어플리케이션에 보안 기능을 추가 가능 인증, 권한 관리 등을 처리

Spring WebFlux: Spring WebFlux는 비동기 및 반응형 프로그래밍을 지원하는 웹 프레임워크로, Reactive 프로그래밍 모델을 제공하여 더 높은 성능과 확장성을 지원합니다.

'JAVA언어 > Spring' 카테고리의 다른 글

MVC  (1) 2025.04.09
spring 어노테이션  (0) 2024.06.26
Configuration  (0) 2024.06.24
스프링 빈 (@Autowired / ApplicationContext)  (0) 2024.06.23