Spring Boot 첫 프로젝트 — start.spring.io 에서 실행까지
Spring Boot 첫 프로젝트 — start.spring.io 에서 실행까지
🎯 이 lesson 을 읽고 나면
이 lesson 을 다 읽고 나면 아래 3가지를 자신 있게 할 수 있습니다.
- ▸✅ start.spring.io 로 5분 안에 프로젝트 생성·실행
- ▸✅ application.yml 의 multi-profile (dev/prod) 분리
- ▸✅ @SpringBootApplication 이 안에서 하는 3가지 일
학습 목표를 체크리스트로 두고 다 답할 수 있게 되면 lesson 을 닫으세요.
start.spring.io 로 프로젝트 만들기
Spring Boot 의 공식 생성기
https://start.spring.io 는 Spring 팀이 제공하는 공식 프로젝트 생성기 입니다. 의존성을 클릭으로 골라 zip 으로 받습니다.
첫 프로젝트 설정값
웹 페이지에서 왼쪽 폼 을 이렇게 채우세요:
- ▸Project: Gradle - Kotlin (Maven 도 가능하지만 신규는 Gradle 권장)
- ▸Language: Java
- ▸Spring Boot: 3.2.x (LTS 계열, 2026년 기준)
- ▸Group:
com.example - ▸Artifact:
demo(= 프로젝트 폴더명) - ▸Name: demo
- ▸Description: "My first Spring app"
- ▸Package name:
com.example.demo - ▸Packaging: Jar (war 는 옛 톰캣 배포용)
- ▸Java: 17 (Spring Boot 3 최소 요구사항)
의존성 선택 — 학습용 5개
ADD DEPENDENCIES 버튼 → 검색해서 추가:
1. Spring Web — REST API 만들기
2. Spring Boot DevTools — 코드 수정하면 자동 재시작
3. Lombok — @Getter·@Setter 보일러플레이트 제거
4. H2 Database — 메모리 DB (학습용 매우 편함)
5. Spring Data JPA — DB 작업 자동화
생성 → 받기 → 열기
GENERATE 클릭 → demo.zip 다운로드 → 압축 풀기 → IntelliJ 에서 Open 으로 폴더 선택.
IntelliJ 가 Gradle 의존성을 자동으로 다운로드 합니다 (처음엔 1~3분). 우측 하단 진행바가 멈추면 준비 완료.
실행
프로젝트 트리에서 src/main/java/com/example/demo/DemoApplication.java 열기:
좌측 초록 ▶ 클릭 또는 Shift + F10. 콘솔에 스프링 부트 배너 와 Tomcat started on port 8080 이 보이면 성공.
브라우저에서 http://localhost:8080 접속 → 404 페이지 가 나옵니다 (아직 라우트가 없으니 정상).
축하합니다 — 진짜 웹 서버가 돌아가는 중 입니다.
application.yml vs application.properties
둘 다 같은 설정 파일
src/main/resources/ 안에 둘 중 하나 만 있으면 됩니다.
properties — 키=값 형식
yml — 계층 들여쓰기
어떤 걸 쓰나
거의 모든 신규 프로젝트는 application.yml — 계층 구조가 보여서 가독성 압승.
properties 는 옛 프로젝트·간단한 설정에 남아있는 정도.
자주 쓰는 설정 5가지
환경별 분리 — application-{profile}.yml
실행 시 --spring.profiles.active=prod 또는 환경변수 SPRING_PROFILES_ACTIVE=prod 로 프로파일 선택. 운영 비밀번호를 git 에 안 올리는 표준 패턴.
@SpringBootApplication — 어노테이션 1개의 정체
한 줄에 3가지가 합쳐진 어노테이션
@SpringBootApplication 은 사실 3개의 어노테이션을 묶어둔 메타 어노테이션 입니다:
각 어노테이션이 하는 일
1. @Configuration
이 클래스는 Bean 설정 클래스 라고 알림. 안에 @Bean 메서드를 둘 수 있게 함.
2. @EnableAutoConfiguration
Spring Boot 의 마법. 클래스패스에 있는 라이브러리를 보고 자동으로 설정 합니다.
- ▸
spring-boot-starter-web발견 → 톰캣 + Spring MVC 설정 자동 - ▸H2 Database 발견 → 메모리 DB 자동 연결
- ▸Spring Data JPA 발견 → JPA EntityManager 자동 설정
XML 설정 100줄을 0줄로 만든 핵심. 이게 없으면 옛 Spring 시대의 설정 지옥 으로 돌아갑니다.
3. @ComponentScan
이 클래스가 있는 패키지부터 하위 패키지 까지 모든 @Component/@Service/@Repository/@Controller 를 찾아서 Bean 으로 등록.
그래서 DemoApplication 위치가 중요 합니다 — 모든 코드는 DemoApplication 패키지 아래에 둬야 자동 인식됩니다.
첫 컨트롤러 — Hello, World!
같은 패키지에 HelloController.java 추가:
서버 재시작 (DevTools 가 있으면 자동) 후 http://localhost:8080/hello 접속 → Hello, Spring Boot!
이게 서버 사이드 첫 페이지를 그려본 순간 입니다.
정리
@SpringBootApplication 한 줄에 수십 개의 자동 설정이 활성화 됩니다. 면접에서 "@SpringBootApplication 이 뭐 하는 거예요?" 라고 물으면 위 3가지를 답할 수 있어야 합니다.
🤖 AI 에게 이렇게 요청해보세요
이 lesson 의 개념을 알면 AI 에게 구체적으로 지시할 수 있습니다. 막연한 "고쳐줘" 가 아니라 어휘를 가진 요청 — 그게 토큰 절약의 출발점입니다.
- ▸"Spring Boot 3.2 + Java 17 + Gradle + H2 로 프로젝트 골격 만들어줘"
- ▸"application.yml 에 다중 프로파일 (dev/prod) 분리 추가해줘"
- ▸"이 프로젝트가 8080 대신 9000 포트로 뜨도록 설정해줘"
왜 이게 토큰을 줄이나
개념을 모를 땐 AI 답변을 받고도 "그게 뭐예요?" 를 다시 물어야 합니다. 그 "다시 물음" 이 토큰을 잡아먹습니다. 개념 한 번 익혀두면 대화가 한 번에 끝납니다.