Hello World!

2 minute read

프로젝트 만들기

이클립스에서 스프링 부트 어플리케이션을 받아서 할 수 있지만
나는 IntelliJ 가 편해서 이걸로 하기로 했다.
Ultimate Edition 이라면 Plug in 에 Spring Boot 가 존재하기 때문에 바로 시작할 수 있지만
Community Edition 은 Spring Boot 사이트에서 zip 을 가져와야 한다.

zip 파일 만들기 : Spring Initializer

Spring_Initializer

위부터 Project 는 maven 으로 빌드할 것인지, gradle 로 빌드할 것인지를 정하는 부분이다.
위 둘은 프로그램을 빌드하는 툴이다.
코드를 컴파일하고 그걸 패키징해서 하나의 프로그램으로 만드는 일을 한다.
나같은 초보자가 느끼는 다른 점이라고는
maven 은 의존성을 추가할 때 (라이브러리 추가) pom.xml 을 건드리고,
gradle 은 build.gradle 을 건드린다.

build.gradle 은 안드로이드에서 많이 써봐서, maven 을 한 번 써보기로 했다.
그리고 다신 안 쓰려고 한다.

둘 중 gradle 을 선택하고,
밑에서 자신이 선택할 언어를 고른다.
나는 kotlin 을 쓴다.

버전은 놔두고,
project metadata 밑 option 을 펼쳐서 프로젝트 이름이나 패키징, 자바 버전을 선택한다.

dependencies 에서 자신이 쓸 api 나 라이브러리를 고른다.

Hello World! 만 출력하려면 web 이랑 devtools 만 있으면 된다.

image

다음과 같이 설정됐으면 밑의 초록 버튼을 누른다.
누르면 zip 파일이 하나 다운하라고 뜬다.
이를 다운 받고, 압축 풀고, IntelliJ 로 열면 끝이다.

IntelliJ 를 열고 좌측 상단의 File - Open 으로 압축 해제된 폴더로 들어가 프로젝트를 연다.

몇 분 기다리면 알아서 내가 선택한대로 설정해준다.

image

이 화면이 나오면 성공이다.

Hello World!

모든 것은 Hello World 부터 시작한다.
비주얼이랑 인텔리 등등 에디터 새로 깔면 Hello World! 부터 출력하는 습관을 들이자.

image

controller 라는 package 를 새로 만들고,
안에 HelloWorldController 라는 클래스를 하나 만들어주자.

image

이렇게 클래스를 생성하면,

HelloWorldController 에서 다음과 같은 코드를 작성한다.

@RestController
class HelloWorldController {
    @RequestMapping(path = ["/"])
    fun hello() = "Hello World!"
}

이 코드를 이해하려면 REST 의 뜻부터 알아야 한다.

REST 는 REpresentational State Transfer 의 약자로
자원의 상태를 이름으로 대표해 전달하는 방식이다.
REST 는 자원(값), 행위(글작성 - POST, 삭제 - DELETE 등), 표현방식(json, xml 등)으로 구분되며
http 의 인프라를 그대로 사용한다.
이를 이용한 REST API 로 쉬운 웹 개발이 가능하다.
자원을 등록하거나 읽어올 곳을 http 의 주소로, 그리고 그에 맞는 행위로 서버를 관리할 수 있다.

행위에는 값을 추가하는 POST, 삭제하는 DELETE, 수정하는 POST 등등이 있다.

예를 들어
과일의 이름과 개수를 담는 클래스 Fruits 가 있다고 하자.

…/fruits 라는 주소로 가서 POST라는 행위를 했을 때,
사용자가 입력한 값에 따라 ‘apple, 10’ 과 같은 자원이 입력된다고 하면,

…/fruits/apple 에서 GET 을 하면 10 이라는 자원의 상태를 보여준다거나,
…/fruits/apple 에서 DELETE 를 하면 이 클래스가 지워지게 할 수 있다.

우리는 이 REST API 를 사용할 것이므로, 클래스의 맨 위 줄에 RestController 라는 Annotation 을 붙여준다.

두 번째로, @RequestMapping 이라는 것이 또 있다.

이는 밑의 함수가 사용자의 요청을 할 때 이루어질 동작이라는 것이다.
사용자가 해당 URL 에 요청을 하면 무슨 일을 할지 매핑해준다.
기본 주소는 localhost:8080 일 것이므로 경로를 그냥 슬래시 하나로 설정해준 것이다.
그리고 가장 기본적인 프로그램답게, 사용자가 뭘 요청하든 그냥 “Hello World!” 라는 문자열만 반환해주었다.

프로젝트를 만들자마자 있었던 코틀린 파일(기본은 DemoApplication.kt)로 돌아가서 main 함수를 실행해보자.

image

주소창에 localhost:8080 을 입력하고 들어갔을 때 위 페이지가 뜨면 성공이다.

Categories:

Updated: