Spring Boot를 사용하기위해서 일단 JDK17을 깔아주어야하고 이번에는 인텔리제이를 써서 사용해보도록 할 예정이기에 인텔리제이까지 깔아주도록 함.
인텔리제이를 깔 때에는 유료버젼은 한달만 무료이므로 무료버젼을 사용해줌.
JDK 17과, 인텔리제이를 깔았으면 Spring 프로젝트를 안에서 생성할 수 없으므로 스프링 홈페이지에가서 initializr를 사용해서 프로젝트를 원하는 버젼과 디펜던시 등을 설정해서 다운받아 주도록함.
인텔리제이 기본설정
● 자바 컴파일러에서 17버전인지 확인해주기.
● 빌드 툴에서 Gradle 부분 인텔리제이로 속도가 빨라짐 (필수아님)
● 파일 인코딩에서 UTF-8로 설정
프로젝트 파일 설정
● application.properties 에서 포트번호, 타임리프에관한 설정들을 해줌.
server.port=8089
spring.thymeleaf.enabled=true
spring.thymeleaf.cache=false
spring.thymeleaf.prefix=classpath:/templates/
spring.thymeleaf.suffix=.html
build.gradle에서 디펜더시 확인 / 추가 / 삭제 가능.
타임리프
- Thymeleaf : JSP를 대신하는 목적으로 작성된 라이브러리
- Thymeleaf를 이용하기 위해서 가장 중요한 설정은 ‘네임스페이스(xmlns)’에 Tymeleaf를 지정하는 것이다.
- 타임리프를 이용하기 위해서는 ‘th:’로 시작하는 기능을 사용할 수 있고, inlining(이하 인라인)을 이용할 수 있음.
● 타임리프를 이용해서 index.html로 메인화면 하나를 구성해보기.
<html lang="en" xmlns:th="http://www.thymeleaf.org"> 가 필수로 들어가야함. 중요.
<!DOCTYPE html>
<html lang="en"
xmlns:th="http://www.thymeleaf.org">
<head>
<meta charset="UTF-8">
<title>Title</title>
</head>
<body>
<h1>${msg}</h1>
<h1 th:text="${msg}"></h1>
<h1>[[${msg}]]</h1>
<hr>
<h1>[[${list}]]</h1>
<h1 th:text="${list}"></h1>
</body>
</html>
● 컨트롤러에서 Spring에서 했던 것 처럼 GetMapping으로 화면에서 사용할 수 있도록 모델을이용해서 addAttrbute해주고 실행하면 화면에 나오는걸 볼 수 있음.
📝 TestController
package com.example.demo;
import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;
import java.util.Arrays;
import java.util.List;
@Controller
public class TestController {
@GetMapping("/")
public String index(Model m){
m.addAttribute("msg", "Test Thymleaf World!!");
List<String> list = Arrays.asList("aaa", "bbb", "ccc", "ddd", "eee", "fff");
m.addAttribute("list", list);
return "index";
}
}
'Spring Boot 수업 정리' 카테고리의 다른 글
Spring boot 6일차 (1) | 2024.11.19 |
---|---|
Spring Boot 5일차 (1) | 2024.11.18 |
Spring Boot 4일차 (0) | 2024.11.15 |
Spring boot 3일차 (3) | 2024.11.14 |
Spring Boot 2일차 (1) | 2024.11.13 |