spring-boot-starter-web
- spring-boot-starter-tomcat: 톰캣 (웹서버)
- spring-webmvc: 스프링 웹 MVC
spring-boot-starter-thymeleaf: 타임리프 템플릿 엔진(View)
spring-boot-starter-data-jpa
- spring-boot-starter-aop
- spring-boot-starter-jdbc
--- HikariCP 커넥션 풀 (부트 2.0 기본)
- hibernate + JPA: 하이버네이트 + JPA
- spring-data-jpa: 스프링 데이터 JPA spring
boot-starter(공통): 스프링 부트 + 스프링 코어 + 로깅
- spring-boot
--- spring-core
- spring-boot-starter-logging
--- logback, slf4j
html 파일을 렌더링 하는 방법은 간단하다
controller에서 동작할 model을 작성하고 viewName을 매핑해주면 끝.
@Controller
public class HelloController {
// @GetMapping으로 url 매핑
@GetMapping("hello")
public String hello(Model model) {
// 동적으로 데이터값을 넘겨주기 위한 코드
// 'data'로 "hello!!" 를 전달
model.addAttribute("data", "hello!!");
// @GetMapping으로 렌더링할 파일명 리턴
return "hello";
}
}
이렇게 컨트롤러를 작성하면 template에 있는 hello.html을 찾아간다.
<!DOCTYPE HTML>
<html xmlns:th="http://www.thymeleaf.org">
<head>
<title>Hello</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
</head>
<body>
<p th:text="'안녕하세요. ' + ${data}" >안녕하세요. 'data'를 타고 넘어온 값이 나타남</p>
</body>
</html>
여기서 잠깐
template에서 파일 수정하고 수정된 내용을 보려면 서버를 재시작해야 수정된 내용 확인 할 수 있는데 이게 상당히 귀찮고 짜증난다.
하지만 이것도 다 해결방법이 있다!!
build.gradle에서
spring-boot-devtools
라이브러리 설치
devtools를 import 해주면 서버 재시작 하지 않고도 template밑에 있는 파일을 recompile시켜서 수정내용 확인 할 수 있다.
Recompile시키는 방법은 상단의 메뉴바에 있는 'Build' -> 'Recompile' 클릭 하면 끝!