AngelPlayer`s Diary

스프링 부트로 프로젝트 생성하기

요즘은 자동으로 프로젝트를 생성 후 사용을 많이 하는 추세

 

https://start.spring.io/

: 스프링 부트 기반으로 스프링 프로젝트를 만드는 사이트

 

Maven / Gradle : 필요한 라이브러리를 가져오고 빌드하는 라이프 사이트를 관리하는 툴

요즘은 대부분 Gradle을 사용함

 

Dependencies : 필요한 라이브러리 선택
Spring Web 
Thymeleaf : 템플릿 엔진

 

 

 

스프링 부트 라이브러리

spring-boot-starter-thymeleaf : View 

spring-boot-starter (공통) : 스프링 부트 + 스프링 코어 + 로깅

spring-boot-starter-test : 테스트 라이브러리

 

 

 

템플릿 엔진 (thymeleaf)

동적으로 데이터 처리 (동적 페이지 만들기)

 

Goal : ../hello 라고 입력 시 동적으로 바뀐 페이지를 만들기

 

- Java/../HelloController.java

package com.angelplayer.hellospring.controller;

import org.springframework.stereotype.Controller;
import org.springframework.ui.Model;
import org.springframework.web.bind.annotation.GetMapping;

@Controller
public class HelloController {
    @GetMapping("hello") // link/hello라고 get 방식으로 들어오면 호출
    public String hello(Model model) {
        model.addAttribute("data", "하위!!"); // key : "data", value : "하위!!"
        return "hello"; // resources.templates의 viewName(hello)으로 가라
    }
}

 

- resources/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>

${키_값}을 통해서 데이터를 받아올 수 있음

 

컨트롤러에서 리턴 값으로 문자를 반환하면 뷰 리졸버( viewResolver )가 화면을 찾아서 처리


스프링 부트 템플릿엔진이 viewName으로 매핑

-> resources:templates/ +{viewName}+ .html

 

 

 

빌드 및 실행하기

빌드

루트 폴더로 가서 gradlew.bat 실행시키기

$ gradlew build

$ gradlew clean build // 기존 빌드 파일 제거 후 다시 빌드

 

실행

$ cd build/libs

$ java -jar hello-spring-0.0.1-SNAPSHOT.jar

jar 파일 하나만 집어넣고 실행시키면 끝!

 

 

 

 


해당 포스트는 김영한 개발자님의 인프런 강의를 통해 학습한 내용을 정리한 것입니다.


 

 

 

'개인 공부 > Spring' 카테고리의 다른 글

[Spring] 정적, MVC&템플릿 엔진, API  (1) 2022.11.04

공유하기

facebook twitter kakaoTalk kakaostory naver band