본문 바로가기
  • 개발하는 곰돌이
Development/Spring & Spring Boot

[IntelliJ] Spring Boot 프로젝트의 기본 설정 및 첫 페이지 만들기

by 개발하는 곰돌이 2022. 12. 5.

목차

    Spring Boot 기본 설정

    Spring Boot의 기본 설정들은 src/main/resources/application.properties 에서 설정할 수 있다. 최초 프로젝트를 생성한 이후에는 다음과 같이 텅 빈 파일만 있을 것이다.

    예를 들어 서버 포트를 변경하고자 할 때는 server.port를 입력하고 사용하고자 하는 포트 번호를 입력하면 된다.(default값은 8080) 예를 들어, 포트를 11111로 변경하면 아래와 같이 11111번 포트로 접속해야 정상적으로 접속할 수 있고 기존의 8080번 포트로는 접속이 불가능해진다.

    11111번 포트로 접속된 모습
    8080번 포트로는 접속이 불가능해졌다.

    이외에도 DB 관련 설정이나 mapper 경로 설정을 포함한 각종 Spring 설정들을 본 파일에서 설정할 수 있다.


    Gradle에 의존성 추가

    처음 Spring Boot 프로젝트를 생성할 때 Spring Boot Devtools와 Spring Web을 선택하였다면 build.gradle.kts 파일에서 다음과 같은 모습을 볼 수 있을 것이다. 이 파일은 Spring Boot나 라이브러리, 모듈의 버전을 관리하고 각종 라이브러리를 자동으로 추가할 수 있게 도와주는 파일이다.

    만약 새로운 라이브러리를 의존성 목록에 추가하고 싶다면 dependencies 블록에 내용을 추가하면 된다. 예를 들어, JDBC 관련 라이브러리를 추가하고 싶을 때는 아래 한줄만 dependencies 블록 내부에 작성해주면 된다.

    implementation("org.springframework.boot:spring-boot-starter-thymeleaf")

    Gradle의 내용이 바뀌었다면 에디터 우측 상단에 우측과 같은 작은 버튼이 생긴다. 해당 버튼을 클릭하거나 Crtl + Shift + O 단축키를 누르면 Gradle에서 변경된 내용을 토대로 아래와 같이 자동으로 라이브러리를 추가하거나 제거해준다.


    페이지 연결

    Spring Boot에서는 기본적으로 src/main/resources/static/index.htm 파일을 기본 페이지로 삼는다. 지금까지 White Label Error가 나왔던 이유는 index.html이 존재하지 않았기 때문이다. 아래와 같이 index.html을 만들고 프로젝트를 다시 실행해서 localhost:11111에 접속해보면 작성한 페이지가 나타난다. 위에서 11111이 아닌 다른 값으로 포트를 변경하였다면 해당 포트 번호를 입력해주면 된다.

     

    index.html

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Welcome</title>
    </head>
    <body>
    <a href="/welcome">Welcome to Spring Boot!</a>
    </body>
    </html>

    하지만 이렇게 페이지를 작성하여도 링크에 연결된 페이지가 존재하지 않기 때문에 링크를 클릭하면 다시 에러 페이지가 나타난다. 이는 /welcome에 해당하는 페이지가 존재하지 않기 때문이다.

    welcome 페이지를 띄워주기 위한 작업을 진행해보자. 위에서 Gradle에 thymeleaf를 추가했으니 아래와 같이 src/main/resources/templates 폴더 내부에 welcome.html 을 작성해준다.

     

    welcome.html

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>Welcome Page</title>
    </head>
    <body>
    This is Spring Boot!
    </body>
    </html>

    그리고 다음과 같이 컨트롤러를 작성해준다. 컨트롤러의 이름은 원하는대로 작성하면 된다.

     

    HomeController.kt

    import org.springframework.stereotype.Controller
    import org.springframework.web.bind.annotation.GetMapping
    
    @Controller("/")
    class HomeController {
        @GetMapping("welcome")
        fun welcome() = "welcome.html"
    }

    이 컨트롤러에서는 root 경로 뒤에 welcome이 들어오면 welcome() 메소드를 통해 welcome.html이라는 파일로 연결해준다는 뜻이다. 여기까지 진행했다면 프로젝트를 다시 실행하여 결과를 확인해보면 정상적으로 페이지가 연결되는 것을 볼 수 있다.


    이상으로 Spring Boot 프로젝트에서 기본적인 설정을 하고 페이지를 연결해보았다.

    댓글