본문 바로가기

Spring Boot 수업 정리

Spring Boot 1일차

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