▶ Spring Boot 웹 프로젝트 만들기
# Step
- 프로젝트 생성
- Thymeleaf(Template Engine) 설정
- Controller, html 생성
- 서버 실행
- 테스트
1. New > Project...
2. 프로젝트 설정
# 설정에 대한 설명
이름 |
설명 |
Service URL |
start springboot 서비스 URL이다. *변경하지 않는다. |
Name |
프로젝트명 |
Type |
프로젝트 빌드 및 의존성 관리 Maven 또는 Gradle |
Packaging |
패키징을 Jar 또는 War를 선택한다. |
Java Version |
8은 자바버전 1.8을 의미한다. |
Language |
Java, Kotlin |
Group |
원하는 값을 넣으면 된다. 보통 도메인을 사용한다.. |
Artifact |
아티팩트명인데, 이것이 프로젝트명이 된다. |
Version |
0.0.1-SNAPSHOT - 프로젝트의 버전 |
Description |
프로젝트 설명 |
Package |
초기 소스들이 만들어질 기본 패키지명 |
3. 프로젝트 의존성 설정
프로젝트 생성 시 기본적으로 설정할 의존성을 선택한다.
Thymeleaf를 여기서 설정할 수 있지만 Gradle에 직접 추가하여 사용해보기 위해
기본적인 Spring Web만 선택하여 진행한다.
4. Finish (프로젝트 생성 완료)
5. 프로젝트 구조
6. build.gradle
Thymeleaf 추가
implementation 'org.springframework.boot:spring-boot-starter-thymeleaf'
implementation 'nz.net.ultraq.thymeleaf:thymeleaf-layout-dialect'
7. Refresh Gradle Project (Thymeleaf 적용)
프로젝트 > 우 클릭 > Gradle > Refresh Gradle Project
8. Controller 생성
package : com.melon.boot.thyme.web
package com.melon.boot.thyme.web;
import javax.servlet.http.HttpServletRequest;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
@Controller
public class ThymeController {
@GetMapping("/")
public String getIndexPage(HttpServletRequest request, Model model) {
model.addAttribute("name", request.getParameter("name"));
return "index";
}
}
9. HTML 생성
템플릿 의존성(Thymeleaf, groovy, FreeMaker)등을 추가하게 되면
스프링 부트는 자동적으로 src/main/resources/templates 경로를 기본 경로로 인식한다.
경로 : /프로젝트/src/main/resources/templates/index.html
html 속성에 xmlns:th="http://www.thymeleaf.org" 추가
<!DOCTYPE html>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<p>INDEX PAGE</p>
<p>PARAM : <span th:text="${name}"></span></p>
</body>
</html>
10. 서버 실행 (내장 톰캣)
애플리케이션 파일 내에서 우 클릭 > Run As > Java Application
11. 브라우저 테스트
프로젝트 Export Archive File
프로젝트 import, export
스프링부트 JPA + lombok 사용하기
#Reference
https://www.thymeleaf.org/