SpringBoot 프로젝트 생성하기

목표

  • 프로젝트 생성
  • 서버 실행
  • Get 요청 만들기

프로젝트 생성

기본적으로 나는 인텔리제이(IntelliJ) 툴을 사용할 것이다.
시작하기전에 자바가 설치 되어있어야한다.

인텔리제이에서 New Project 를 하여 Spring Initializr 를 선택하여준다.

spring

원하는 프로젝트 이름을 입력해준다.
인텔리제이 최신버전에서는 Spring 3 이상으로만 생성이 된다.
근데 Spring 3 이상 버전에서는 자바 17부터 가능하다.
그래서 나는 자바 17 로 할 것이다.
자바 17 이여도 17에 뭐가 새로생겼는지 어쨋는지 모른다.
나는 어쩔수 없이 17로 하는 것이다.😅

spring

기본 패키지는 Spring Boot DevTools 와 Lombok , Spring Web 을 기본으로 정하였다.
이제 Create를 하면 프로젝트가 생성된다.

만약 다른 툴로해서 기본 설치 패키지를 선택 할 수 없다면
프로젝트 생성 완료 후 build.gradle 에 패키지를 추가해준다.

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-web'
    compileOnly 'org.projectlombok:lombok'
    developmentOnly 'org.springframework.boot:spring-boot-devtools'
    annotationProcessor 'org.projectlombok:lombok'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
}

설치가 완료되면 프로젝트가 보이게 된다.

spring

이중 application.properties 의 확장자를 yml 로 바꾸자.

인텔리 제이 기준 (shift + F6)

yml

이 글을 보고 따라하는 사람이라면 초보자 일 것 입니다.
옛날 Spring 프로젝트 아니고서야 properties로 쓰는 곳은 없기 때문에
무조건 application.yml 로 바꿔주자

서버실행

서버를 실행해보자. 서버 실행 버튼을 찾을 수 없다면 인텔리 제이 기준 [Shift + F10]을 해줍니다.

실행하게되면 Console 창에 Spring 표시와 함께 서버가 실행됩니다.

그 후 여러가지 표시가 나옵니다.
자바 버전, 현재 기동되는 서버의 포트, 그리고 서버 실행이 완료되었다는 글이 나옵니다.
기본적으로 따로 설정하지 않으면 서버의 포트는 8080 입니다.

그러면 웹 브라우저를 열고 localhost:8080 을 해봅니다.

Whitelabel Error Page가 나오는데요.
지극히 정상입니다.
localhost:8081 로 해볼까요 ?

페이지에 연결 할 수 없습니다.가 나옵니다.
이 말은 즉 아예 없는 페이지라는 뜻 입니다.

하지만 localhost:8080은 현재 서버가 올라가 있는 상태이기 때문에
8080 포트의 서버에 연결은 됐지만 매핑되는 페이지가 없어서 나오는 것 입니다.
이제 8080 포트에 매핑 될 API 만들어 봅시다.

Get 요청 만들기

기본 localhost:8080 요청의 API 를 만들어 보겠습니다.
기본 패키지 하위에 controller 라는 패키지를 만들고 BaseController.java 를 만들었습니다.

package com.mana.api.controller;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

// RestController 명시
@RestController
public class BaseController {

    // localhost:8080/ 기본 매핑
    @GetMapping("/")
    public String base(){
        return "Hello World!";
    }

}

이후 다시 서버를 재실행 후 localhost:8080 을 해보자.

이처럼 localhost:8080 혹은 localhost:8080/ 이
방금 만든 @GetMapping(“/”) 에 매핑되어 hello world 를 리턴 하는 걸 알수있다.

Leave a Comment