어제 오늘 내일

[Spring Boot 입문 - 5] 드디어 코드 작성! 내 생애 첫 Hello World 띄우기 본문

카테고리 없음

[Spring Boot 입문 - 5] 드디어 코드 작성! 내 생애 첫 Hello World 띄우기

hi.anna 2026. 2. 11. 07:36

 

안녕하세요! 지난 시간에 우리는 "손님이 오면 웨이터(Controller)가 주문을 받는다"는 원리를 배웠습니다.
하지만 우리 가게엔 아직 웨이터가 없어서 에러 페이지가 떴었죠.

오늘은 드디어 첫 번째 직원(Controller)을 채용하고, 브라우저에 "Hello World"를 띄워보겠습니다.

딱 5줄만 짜면 됩니다. 준비되셨나요?

 

1. 자바 클래스 만들기 (웨이터 채용)

가장 먼저 할 일은 주문을 받을 '클래스'를 만드는 것입니다.

  1. IntelliJ 왼쪽 탐색기(Project)에서 src/main/java/com.example.demo 패키지를 찾습니다.
  • (주의: 반드시 DemoApplication 파일이 있는 그 패키지 안에 만들어야 합니다!)
  1. 마우스 우클릭 -> New -> Java Class 클릭.
  2. 이름 칸에 HelloController 라고 적고 엔터를 칩니다.

 

2. 마법의 주문(코드) 작성하기

이제 텅 빈 파일이 생겼을 겁니다. 아래 코드를 똑같이 따라 적어주세요.
(복사 붙여넣기 보다는 직접 쳐보는 걸 추천합니다!)

package com.example.demo;

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

@RestController  // 1. 여기는 웨이터(컨트롤러)입니다! 라고 명찰 달기
public class HelloController {

    @GetMapping("/hello") // 2. "/hello" 라는 주소로 요청이 오면 이 메소드 실행!
    public String sayHello() {
        return "안녕하세요! 스프링 부트 세상에 오신 걸 환영합니다! 🎉";
    }
}
  • 빨간 줄이 뜨나요?
  • 코드 위에 마우스를 올리거나 Alt + Enter를 쳐서 Import class를 선택해 주세요.
  • (IntelliJ가 자동으로 import ... 문장을 위에 추가해 줍니다.)

 

3. 코드 해석 (이게 무슨 뜻이죠?)

방금 적은 코드가 무슨 일을 하는지 알아볼까요?

  1. @RestController:
  • 스프링에게 "이 클래스는 이제부터 사용자의 요청을 받는 웨이터(Controller)야!" 라고 알려주는 표시(어노테이션)입니다.
    이게 없으면 그냥 평범한 자바 파일일 뿐입니다.
  1. @GetMapping("/hello"):
  • "손님이 주소창에 /hello라고 입력하면, 내가 낚아챌게!" 라는 뜻입니다.
  • 즉, URL 주소와 내 코드를 연결(Mapping) 해주는 역할을 합니다.
  1. return "...":
  • 웨이터가 손님에게 건네줄 응답(Response) 내용입니다. 우리는 문자열을 그대로 화면에 보여주기로 했습니다.

 

4. 실행 결과 확인하기

코드를 다 짰으니 서버를 다시 켜야겠죠?

  1. 오른쪽 상단에 있는 재실행 버튼(↺ 화살표)을 누릅니다. (또는 Shift + F10)
  2. 콘솔 창에 Started DemoApplication...이 뜰 때까지 기다립니다.
  3. 이제 브라우저를 켜고 아래 주소로 접속합니다.

👉 주소: http://localhost:8080/hello

(주의: 뒤에 /hello를 꼭 붙여야 합니다!)

화면에 이렇게 떴나요?

성공입니다! 👏👏👏
여러분은 방금 생애 첫 REST API를 만든 것입니다.

 

5. (보너스) 만약 내용을 바꾸고 싶다면?

return 뒤에 있는 큰따옴표("") 안의 글자를 여러분의 이름이나 원하는 문구로 바꿔보세요.

return "나는 천재 개발자다!";

바꾼 뒤에는 반드시 서버를 재실행(Rerun) 해줘야 적용됩니다. 다시 접속했을 때 문구가 바뀐 걸 확인해 보세요.

 

마무리

오늘은 이론보다 실습을 먼저 해봤습니다.
하얀 화면에 내가 쓴 글자가 딱 나타났을 때의 그 짜릿함! 잊지 마세요.

그런데 코드를 짜면서 궁금한 점이 생기셨을 겁니다.

  • "Controller 말고 Service는 언제 써요?"
  • "@RestController랑 그냥 @Controller는 뭐가 달라요?"

다음 시간에는 오늘 실습한 내용을 바탕으로, Controller, Service, Repository의 진짜 역할과 구조에 대해 조금 더 깊이 있게(하지만 쉽게!) 알아보겠습니다.

다음 편에서 만나요!

 

 

 

반응형
Comments