🌱 스프링 부트(Spring Boot) 프로젝트: 쉽고 빠른 초기 세팅 가이드 (feat. 이미지 첨부)

안녕하세요! 오늘은 많은 백엔드 개발자들이 사랑하는 프레임워크, 스프링 부트(Spring Boot) 프로젝트를 시작하는 가장 기본적인 방법에 대해 알아보겠습니다. 복잡한 설정 없이 바로 개발에 집중할 수 있게 도와주는 스프링 부트, 함께 차근차근 시작해볼까요? 블로그 포스팅에 바로 활용하실 수 있도록 이미지와 함께 설명해 드릴게요!

✨ 시작 전 준비물:

  1. JDK (Java Development Kit): 스프링 부트는 자바 기반이므로 JDK가 설치되어 있어야 합니다. (권장: LTS 버전 – 11, 17 등)
  2. IDE (Integrated Development Environment):코드를 작성하고 프로젝트를 관리할 통합 개발 환경이 필요합니다. (추천: IntelliJ IDEA Community/Ultimate, Eclipse)

🚀 1단계: Spring Initializr로 프로젝트 뼈대 만들기

스프링 부트 프로젝트를 가장 쉽게 시작하는 방법은 Spring Initializr 웹사이트를 이용하는 것입니다. 필요한 설정을 선택하면 프로젝트 기본 구조를 자동으로 생성해줍니다.

  1. 웹사이트 접속: start.spring.io 에 접속합니다.
  1. 프로젝트 설정: 아래 항목들을 원하는 대로 설정합니다. (초보자 추천 설정)
    • Project: Maven Project (Gradle도 많이 사용되지만, Maven이 좀 더 직관적일 수 있습니다)
    • Language: Java
    • Spring Boot: 최신 안정화 버전 (SNAPSHOT, M 등 제외)
    • Project Metadata:
      • Group: 보통 회사의 도메인명 역순 (예: com.example)
      • Artifact: 프로젝트 이름 (예: my-first-app)
      • Name: 프로젝트 이름 (Artifact와 동일하게 설정)
      • Description: 프로젝트 설명 (예: Demo project for Spring Boot)
      • Package name: Group + Artifact (예: com.example.myfirstapp)
    • Packaging: Jar (웹 애플리케이션 기본)
    • Java: 설치된 JDK 버전과 동일하게 선택
  2. 의존성(Dependencies) 추가: 프로젝트에 필요한 라이브러리를 추가합니다. 웹 애플리케이션을 만들 것이므로 Spring Web을 검색하여 추가(+)합니다.
    • (Tip: 나중에 Lombok, Spring Data JPA, H2 Database 등 필요한 의존성을 추가할 수 있습니다.)
    (📸 이미지 1: Spring Initializr 설정 화면)
    (이미지 내용: 위 설정들이 채워진 start.spring.io 웹 페이지 스크린샷)[ 가상 이미지 설명 ] -------------------------------------------------- | Spring Initializr 웹 페이지 | |-------------------------------------------------| | Project: [ Maven Project v] Language: [ Java v] | | Spring Boot: [ 3.x.x v] | | | | Project Metadata | | Group: com.example | | Artifact: my-first-app | | ... (나머지 메타데이터) ... | | Packaging: [ Jar v] Java: [ 17 v] | | | | Dependencies [ Add Dependencies... ]| | + Spring Web | | | | [ GENERATE ] | --------------------------------------------------Use code with caution.
  3. 프로젝트 생성 및 다운로드: 설정이 완료되면 하단의 GENERATE 버튼을 클릭합니다. 프로젝트 설정이 담긴 .zip 파일이 다운로드됩니다.

📦 2단계: IDE로 프로젝트 가져오기 (IntelliJ IDEA 기준)

다운로드한 zip 파일의 압축을 풀고, 사용 중인 IDE로 프로젝트를 가져옵니다.

  1. IntelliJ 실행: IntelliJ IDEA를 실행합니다.
  2. 프로젝트 열기: 초기 화면에서 Open을 선택하거나, 메뉴에서 File > Open…을 클릭합니다.
  3. 폴더 선택: 압축을 해제한 프로젝트 폴더를 선택하고 OK버튼을 누릅니다.
    (Tip: pom.xml 파일이 있는 폴더를 선택해야 합니다.)(📸 이미지 2: IntelliJ에서 프로젝트 폴더 선택 화면)
    (이미지 내용: 파일 탐색기 창에서 압축 해제된 프로젝트 폴더가 선택된 모습)[ 가상 이미지 설명 ] --------------------------------------------- | Open File or Project | |-------------------------------------------| | D:\Projects\ | | > other-project | | > [ my-first-app ] <--- 이 폴더 선택 | | > .mvn | | > src | | > .gitignore | | > mvnw | | > mvnw.cmd | | > pom.xml <-- 핵심 파일 | | | | [ OK ] [ Cancel ] | ---------------------------------------------Use code with caution.
  4. 의존성 다운로드 대기: IntelliJ가 pom.xml 파일을 분석하여 필요한 라이브러리(의존성)들을 자동으로 다운로드합니다. 우측 하단에 진행 상태가 표시됩니다. 완료될 때까지 잠시 기다립니다.(📸 이미지 3: IntelliJ 프로젝트 구조 및 의존성 로딩)
    (이미지 내용: IntelliJ 화면 좌측에 프로젝트 구조(src/main/java 등)가 보이고, 우측 하단에 Maven 의존성 로딩 중(혹은 완료) 표시)[ 가상 이미지 설명 ] -------------------------------------------------------------------- | IntelliJ IDEA | |------------------------------------------------------------------| | Project (좌측) | Editor (중앙) | | > my-first-app | | | > .idea | | | > .mvn | | | > src | | | > main | | | > java | | | > com.example.myfirstapp| | | > MyFirstAppApplication.java <--- 메인 클래스 | | > resources | | | > application.properties| | | > test | | | > .gitignore | | | > ... | | | > pom.xml | | |--------------------------------|---------------------------------| | (하단 상태바: Maven resolving dependencies... 또는 빌드 완료 메시지) | --------------------------------------------------------------------Use code with caution.

▶️ 3단계: 애플리케이션 실행해보기

프로젝트 설정이 완료되었으니, 기본 생성된 애플리케이션을 실행해 봅시다.

  1. 메인 클래스 찾기: 프로젝트 구조에서 src/main/java 아래의 패키지 경로로 이동하여 ~Application.java 파일을 찾습니다. (예: MyFirstAppApplication.java)
  2. 실행:
    • 해당 파일을 열고, 코드 편집기 왼쪽의 녹색 재생 버튼(▶️)을 클릭 후 Run ‘MyFirstAppApplication.main()’을 선택하거나,
    • 클래스 이름(MyFirstAppApplication)에서 마우스 오른쪽 버튼 클릭 > Run ‘MyFirstAppApplication.main()’을 선택합니다.
    (📸 이미지 4: 메인 애플리케이션 클래스 실행 버튼)
    (이미지 내용: MyFirstAppApplication.java 파일이 열려 있고, public static void main(String[] args)메소드 옆이나 클래스 선언부 옆의 녹색 실행 아이콘 강조)[ 가상 이미지 설명 ] ------------------------------------------------------ | MyFirstAppApplication.java 코드 편집기 | |----------------------------------------------------| | package com.example.myfirstapp; | | | | import org.springframework.boot.SpringApplication; | | import org.springframework.boot.autoconfigure.SpringBootApplication; | | | | @SpringBootApplication | | public class MyFirstAppApplication { | | | | ▶️ public static void main(String[] args) { <--- 이 아이콘 클릭 | | SpringApplication.run(MyFirstAppApplication.class, args); | | } | | | | } | ------------------------------------------------------Use code with caution.
  3. 실행 결과 확인: 하단의 Run 탭(콘솔 창)에 스프링 부트 로고와 함께 로그 메시지가 출력됩니다. 마지막 부분에 Tomcat started on port(s): 8080 (http)와 유사한 메시지가 보이면 성공적으로 실행된 것입니다!(📸 이미지 5: 스프링 부트 실행 성공 콘솔 로그)
    (이미지 내용: IntelliJ 하단 Run 탭에 출력된 로그. 스프링 부트 ASCII 아트 로고와 함께 Tomcat started… 메시지 강조)[ 가상 이미지 설명 ] --------------------------------------------------------------------- | Run 탭 (콘솔 출력) | |-------------------------------------------------------------------| | | | . ____ _ __ _ _ | | /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ | |( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ | | \\/ ___)| |_)| | | | | || (_| | ) ) ) ) | | ' |____| .__|_| |_|_| |_\__, | / / / / | | =========|_|==============|___/=/_/_/_/ | | :: Spring Boot :: (v3.x.x) | | | | ... (중략) ... | | o.s.b.w.embedded.tomcat.TomcatWebServer : Tomcat started on port(s): 8080 (http) with context path '' | | com.example.myfirstapp.MyFirstAppApplication : Started MyFirstAppApplication in X.XXX seconds | | | ---------------------------------------------------------------------Use code with caution.

🎉 축하합니다!

이제 여러분의 첫 스프링 부트 프로젝트가 성공적으로 생성되고 실행되었습니다! 아직은 빈 프로젝트이지만, 이제 이곳에 여러분의 코드를 채워나가며 멋진 백엔드 애플리케이션을 만들 수 있습니다.

다음 단계로는 간단한 컨트롤러(Controller)를 만들어 웹 브라우저에 “Hello World”를 출력해보는 것을 추천합니다.

궁금한 점이나 막히는 부분이 있다면 언제든지 댓글로 질문해주세요! 😊

Leave a Comment