인프런 - 스프링 부트와 JPA 활용1 by 김영한 을 기반으로 작성된 글입니다.
실전! 스프링 부트와 JPA 활용1 - 웹 애플리케이션 개발
Springboot와 thymeleaf 매핑 (HelloController.java)
@Controller
public class HelloController {
//url:hello는 해당 컨트롤러 호출
@GetMapping("hello")
public String Hello(Model model){
model.addAttribute("data", "hello!!!");
return "hello"; //hello.html
}
}
resources:templates/ +{ViewName}+ .html
thymeleaf 템플릿엔진 동작 확인 (hello.html)
templates/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}"> 안녕하세요 손님</p>
</body>
</html>
출력
정적페이지 동작 확인 (index.html)
static/index.html
생성
<!DOCTYPE html>
<html>
<head>
<title>Hello</title>
<meta http-equiv="Content-Type" content="text/html" charset="UTF-8">
</head>
<body>
Hello
<a href="/hello">hello</a>
</body>
</html>
restart 출력
- 정적 콘텐츠는 static에 생성
- 템플릿 엔진을 이용해 렌더링을 이용할 콘텐츠는 templates 에 생성
코드 수정후 빠르게 실행 하는 법!
라이브러리에 아래 코드 추가
'org.springframework.boot:spring-boot-devtools'
gradle import
후 서버 재실행
log에 restartedMain
이라고 떠야 제대로 devtools 세팅 완료!
❗ 혹시 안된다면
우측 상단에 Gradle 메뉴에서 Reload Gradle Project
버튼을 눌러 새로고침 후 재실행
devtools 세팅 이후에는 서버 재실행 대신 Build >Recompile + 파일명
선택하면 완료!
ex) hello.html 수정 후 Build >Recompile hello.html
선택
<p th:text="'안녕!반가워요 ' + ${data}"> 안녕하세요 </p>
새로고침 ( 서버 재실행 보다 빠르게 확인이 가능하다 )