[Spring/기초] spring MVCSpring/Spring 기초2024. 1. 21. 00:29
Table of Contents
728x90
반응형
Spring Boot 의 MVC에 대해 알아보자
1. MVC 아키텍처란?
Model-View-Controller의 약자로 소프트웨어 디자인 패턴이다.
- Model :
어플리케이션이 데이터와 비지니스 로직을 당담한다. - View :
사용자에게 보이는 UI를 표현하며 모델의 데이터를 표시한다. - Controller :
사용자의 입력을 처리하고, 그에 따른 모델의 업데이트 및 뷰의 갱신을 컨트롤 한다.
2. Spring Boot MVC의 특징은 뭐가 있을까?
2.1 자동 설정
자동 설정을 지원하기 때문에 @SpringBootApplication 애노테이션만 사용해도 기본적인 MVC를 사용할 수 있다..
2.2 간단한 URL 매핑
@Controller 애노테이션을 사용해서 간단하게 URL을 매핑 할 수 있다.
2024.01.18 - [Spring/Spring 기초] - [Spring/기초] Controller
2.3 다양한 템플릿 엔진 지원
Thymeleaf, FreeMarker, JSP등 다양한 엔진을 지원한다.
장점으로는
- 서버 사이드 렌더링 :
템플릿 엔진을 사용해서 동적인 HTML을 만들수 있고 초기 페이지 로딩 속도를 향상시킬 수 있다.
이는 검색 엔진 최적화를 할 수 있어서 더 많은 유저가 해당 페이지를 방문할 수 있는 등의 장점이 있다. - 간단한 개발 및 통합 :
템플릿 엔진은 HTML에 가까운 문법을 사용하기 때문에 HTML과 통합이 용이하고 기존 페이지들과 협업이 간편하다. - 통합된 모델과 뷰 :
템플릿 엔진은 주로 서버에서 데이터를 가져와서 뷰를 렌더링 하는데 사용된다. 데이터 뷰가 모두 서버에서 처리되기 떄문에 통합이 쉽다.
3. 데이터 바인딩과 폼 처리
사용자로부터 입력을 쉽게 처리할 수 있도록 데이터 바인딩과 폼 처리르 지원한다.
@ModelAttribute 어노테이션을 사용해서 폼 데이터를 객체로 바인딩 할 수 있다.
@Controller
public class UserController {
@GetMapping("/user-form")
public String showUserForm(Model model) {
model.addAttribute("user", new User());
return "user_form";
}
@PostMapping("/save-user")
public String saveUser(@ModelAttribute User user) {
// 유저 정보를 저장하는 비즈니스 로직 수행
return "redirect:/user-list";
}
}
Get 요청이 들어올땐 Model 객체를 매개변수로 받아서 데이터를 다루고 있다.
Post 요청을 처리할땐 User객체를 사용해서 form으로 저장해 데이터를 처리한다.
728x90
반응형
'Spring > Spring 기초' 카테고리의 다른 글
[Spring/기초] Repository (0) | 2024.01.23 |
---|---|
[Spring/기초] TDD (0) | 2024.01.21 |
[Spring/기초] Entity 만들기 (0) | 2024.01.20 |
[Spring/기초] Spring boot Mysql 연결 (0) | 2024.01.20 |
[Spring/기초] Spring boot 기본 폴더 구조 설명 (0) | 2024.01.19 |
@코딩하는 자연대생 :: 자연대생도 코딩을 하고 싶어
Coding, Software, Computer Science 내가 공부한 것들 잘 이해했는지, 설명할 수 있는지 적는 공간