2025. 4. 9. 09:33ㆍJAVA언어/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 |