1. 프로젝트 환경 설정

IntelliJ Project structure 설정하기란?

출처: Configure projects | IntelliJ IDEA

IntelliJ IDEA 프로젝트의 구성

  • IntelliJ IDEA는 프로젝트를 설정할 때 Module, Project, Global 세 가지 유형으로 설정할 수 있다.
    • Global: IntelliJ IDEA에서 생성된 프로젝트에 대해 일괄된 설정
    • Project: 현재 열려 있는 프로젝트에만 적용되는 설정
    • Module: 프로젝트 안의 모듈에만 적용되는 설정.
  • 프로젝트 안에 여러 개의 모듈이 존재하는 이유는 한 프로젝트 안에서 다양한 SDK/Language level/Libraries를 각기 다르게 설정해줘야할 필요가 있기 때문이다.
    • SDK: Software Development Kit의 약자로, 개발자는 SDK를 통해 모든 기능을 처음부터 만들 필요 없이, 미리 구축된 도구들을 활용하여 특정 플랫폼에 특화된 소프트웨어나 커스텀 앱을 효율적으로 만들 수 있다.
    • Language level: IntelliJ IDEA와 java compiler가 사용할 언어을 지정하는 것을 의미한다.
    • Libraries: 해당 모듈에서 사용하는 의존관계가 있는 라이브러리 목록
    • 현재 프로젝트 Gradle과 의존관계가 있는 라이브러리들을 확인할 수 있다.

프로젝트 JDK 설정

Gradle JDK 설정

IntelliJ Gradle *대신에 자바 직접 실행

실행 확인하기

thymeleaf template engine 동작 다이어그램

package com.example.hello.hello_spring.controller;

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

@Controller
public class HelloController {

  @GetMapping("world")//url path와 일치시키기= http://localhost:8080/world
  public String hello(Model model) {
    model.addAttribute("data",
        "world!!");// world.html과 thymeleaf가 연결시켜줌, th:text="'안녕하세요. ' + ${data}
    return "world";// resources/templates 안의 폴더명과 일치시키기
    // 컨트롤러에서 리턴 값으로 문자를 반환하면 뷰 리졸버( `viewResolver` )가 화면을 찾아서 처리한다.
    // resources:templates/` +{ViewName}+ `.html`
  }
}

spring-boot-devtools

html 파일을 컴파일만 해주면 서버 재시작 없이 View 파일 변경이 가능하다.

빌드하고 실행하기

참고자료:

댓글남기기