본문 바로가기

컴퓨터/Spring Boot

[TIL] Spring Boot(intellij) - 프로젝트 생성

우선 intellij를 사용할 것이므로 설치하고 프로젝트 환경설정을 하였다.

 

▶ spring 프로젝트 생성 

https://start.spring.io 에서 스프링 프로젝트를 생성한다.

myStudy-spring으로 프로젝트 명을 정하고 

build tool은 gradle로 하였다.

의존성도 추가할 수 있는데

웹 애플리케이션을 만들것이므로 spring web과 html 화면 템플릿을 위한 thymeleaf를 추가하였다.

 

확실히 sts를 사용하여 프로젝트를 생성할 때보다 훨씬 간단한 방식으로 스프링 프로젝트 생성을 할 수 있었다.

 

▶ source tree - 깃 연동

다음과 같이 git에 repositoy를 생성하고

sourcetree에 clone 하여 깃에 연동하였다.

 

▶ welcome page 생성

java 하위의 controller

static 하위의 index.html

templates 하위의 hello.html

파일을 생성하였다.

 

static은 정적 페이지를 templates은 타임리프를 사용한 동적 페이지를 렌더링 한다.

정적 페이지는 말그대로 html 요소를 페이지에 뿌려주는 것이고

동적 페이지를 살펴보자.

 

[helloController.java]

package myStudyspring.myStudyspring.controller;

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

@Controller
public class helloController {
    @GetMapping("hello")
    public String hello(Model model){
        model.addAttribute( "data", "hello!!!");
        return "hello"; //hello.html에 가서 렌더링하라는 뜻.
    }
}

 

[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>

contoller에서 model에 담긴 데이터 'hello!!!' 는 hello.html에서 ${data}에 매핑된다.

 

페이지를 확인해보면 다음과 같다.

▶ 프로젝트 빌드와 실행

프로젝트를 빌드하는 법을 알아보자.

빌드란 소스 코드 파일을 독립적인 소프트웨어 가공물로 변환하는 과정이나 결과물을 말하며,

소스 코드를 실행 코드로 컴파일하는 과정을 포함한다.

 

java의 경우 JVM에서 실행 가능한 ".class" 파일이 생성된다.

여기서는 gradle을 사용하여 빌드한다.

 

1. 프로젝트가 실행중이면 중지한다. 

2. cmd를 열어 프로젝트 폴더로 진입한다.

3. gradlew build 명령어로 빌드를 실행한다. (window)

4. 빌드가 성공하면 다음과 같이 뜨고, build - libs 폴더로 이동하여 생성된 파일을 확인한다.

생성된 jar 파일을 확인할 수 있다.

 

5. 생성된 파일을 실행시켜 보자. java -jar 명령어로 실행한다.

실행 성공! 

그리고 localhost:8080을 들어가보면 처음 프로젝트를 실행했을 때와 같은 화면이 뜬다.

그럼 빌드 파일 실행에 성공한 것이다.

728x90