[Kotlin] Spring Boot 프로젝트 구현하기 (1) - template, Controller 사용하기

SoyoungLee·2024년 2월 13일
0

Spring Boot

목록 보기
1/3

💌 [Kotlin] Spring Boot 프로젝트 구현하기 (1) - template, Controller 사용하기

Kotlin + Spring Boot를 이용하여 프로젝트를 구현해보려한다.

📌 Spring 이란

  • 엔터프라이즈용 Java 애플리케이션 개발을 편하게 할 수 있게 해주는 오픈소스 경량급 애플리케이션 프레임워크,
    즉 스프링을 더 쉽게 이용하기 위한 도구.

📌 Spring Boot 란

  • 스프링으로 애플리케이션을 만들 때에 필요한 설정을 간편하게 처리해주는 별도의 프레임워크

📌 프로젝트 추가

Spring initializr

https://start.spring.io/ 에 접속해서 다음과 같은 셋팅으로 프로젝트를 만들어준다.

Project

  • Gradle - Kotlin

Language

  • Kotlin

Spring Boot

  • 3.2.2

Packaging

  • Jar

Java

  • 17

Dependencies 추가

  • Spring Web
  • Mustache
  • Spring Data JPA
  • H2 Database
  • Spring Boot DevTools

📌 프로젝트 Open

다운받은 zip 파일을 압축을 푼 후 IntelliJ 에서 열어준다.

📌 Gradle 설정

Preferences/Settings > Build, Execution, Deployment > Build Tools > Gradle 로 이동
Build and run using/Run tests using 을 IntelliJ IDEA 로 설정.
Gradle JVM을 Java 17 이상으로 설정.

📌 Application 빌드

Application 빌드 후 localhost:8080 url 로 이동하면 Whitelabel Error Page 가 뜨면 성공.

📌 Spring Boot 실행

localhost:8080 을 들어가면 가장 먼저 나오는 화면을 만들어준다.
resources > Static > index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h1>Kotlin Spring Boot</h1>
<p>Hello World</p>
</body>
</html>

다음과 같이 입력해주고 다시 애플리케이션 빌드를 시켜준 후 localhost:8080 으로 이동한다.


📌 Mustache 템플릿 생성

templates 경로에 mustache 파일을 생성해준다.

회색 문서모양의 header.mustache 파일이 생성된다.
intelliJ에서 플러그인이 설치되어 있지 않아 제대로 해당 파일을 인식하지 못한 상태.

Setting > Plugin > Mustache 플러그인을 설치해준다

처음에 빈 파일인데 doc을 입력 후 tab을 누르면 기본적인 내용으로 채워짐


다음과 같이 body 를 채워준다.

📌 Controller 작성

@Controller 어노테이션을 추가해 해당 클래스가 컨트롤러임을 Spring Framework 에 알려줌.

메소드 추가

@GetMapping 어노테이션을 추가하여 /header 로 들어오는 데이터를 처리할 메소드 추가
header.mustache 파일을 찾아서 유저에게 보여줌.

@Controller
class HtmlController {

    @GetMapping("/header")
    fun sendHeader(): String{
        return "header"
    }
}

📌 결과

localhost:8080/header url로 이동하면 다음과 같이 결과가 잘 뜨면 성공!

참고 : https://spring.io/guides/tutorials/spring-boot-kotlin
https://melonicedlatte.com/2021/07/25/202100.html
https://onedelay.github.io/2018/11/14/kotlin-spring-boot-1/
https://velog.io/@lyh990517/Back-end-Kotlin-Spring-boot%EC%9C%BC%EB%A1%9C-%EA%B0%84%EB%8B%A8%ED%95%9C-API%EB%A5%BC-%EB%A7%8C%EB%93%A4%EC%96%B4%EB%B3%B4%EC%9E%90

profile
Android Developer..+ iOS 슬쩍 🌱 ✏️끄적끄적,,개인 기록용 👩🏻‍💻

0개의 댓글