1. MVC
MVC (모델-뷰-컨트롤러) 는 사용자 인터페이스, 데이터 및 논리 제어를 구현하는데 널리 사용되는 소프트웨어 디자인 패턴이다. MVC 에 기반을 둔 몇 가지 다른 디자인 패턴으로 MVVM (모델-뷰-뷰모델), MVP (모델-뷰-프리젠터), MVW (모델-뷰-왓에버)가 있다.
MVC 소프트웨어 디자인 패턴의 세 가지 부분은 다음과 같이 설명할 수 있다.
- 모델: 데이터와 비즈니스 로직을 관리.
- 뷰: 레이아웃과 화면을 처리.
- 컨트롤러: 명령을 모델과 뷰 부분으로 라우팅.

2. 템플릿 엔진(Template Engine)
템플릿 엔진은 템플릿 양식과 특정 데이터 모델에 따른 입력 자료를 합성하여 결과 문서를 출력하는 소프트웨어 또는 소프트웨어 컴포넌트를 말한다. 템플릿 엔진을 사용하면 응용프로그램에서 정적 템플릿 파일을 사용할 수 있다. 런타임에 템플릿 엔진은 템플릿 파일의 변수를 실제 값으로 바꾸고 템플릿을 클라이언트에 전송된 HTML 파일로 변환한다. 이 방법을 사용하면 HTML 페이지를 더 쉽게 설계할 수 있다.
2.1. Thymeleaf
Thymeleaf는 웹 환경과 독립형 환경 모두를 위한 현대적인 서버 사이드 자바 템플릿 엔진(server-side Java template engine)이다. Spring boot에서 공식적으로 지원하고 권장하는 템플릿 엔진이며, MVC 기반 웹 애플리케이션의 뷰 레이어에서 XHTML/HTML5를 서비스하는데 적합하다. 스프링 프레임워크와 완전한 통합 기능을 제공한다.
Controller
<java />
@Controller
public class HelloController {
@GetMapping("hello-mvc")
public String helloMvc(@RequestParam("name") String name, Model model) {
model.addAttribute("name", name);
return "hello-template";
}
}
View
<html />
//resources/template/hello-template.html
<html xmlns:th="http://www.thymeleaf.org">
<body>
<p th:text="'hello ' + ${name}">hello! empty</p>
</body>
</html>

'Spring' 카테고리의 다른 글
[스프링 입문] AOP (0) | 2023.01.21 |
---|---|
[스프링 입문] JPA (0) | 2023.01.21 |
[스프링 입문] 스프링 빈과 의존관계 (0) | 2023.01.21 |
[스프링 입문] API (0) | 2023.01.18 |
[스프링 입문] 정적 컨텐츠(Static Content) (0) | 2023.01.18 |