개발 공부/Java

[TIL] Spring Boot 입문 강의 정리

eunkonge 2026. 6. 22. 15:50

오늘은 Spring Boot를 시작하기 앞서 프로젝트 구조와 웹 애플리케이션의 기본 동작 원리에 대해 공부했다.


1. Gradle이란?

Gradle은 프로젝트를 빌드하고 의존성을 관리하는 도구이다.(Groovy나 Kotlin으로 작성)

Spring Boot 프로젝트를 생성하면 build.gradle 파일이 생성되는데, 여기서 프로젝트에 필요한 라이브러리를 관리한다.

plugins {
    id: 'java'
    id: 'org.springframework.boot'	version: '3.0.1'
}

dependencies {
    implementation: 'org.springframework.boot:spring-boot-starter-web'
}

주요 구성

plugins

프로젝트에서 사용할 플러그인을 정의한다.

버전이 안맞으면 호환 문제가 있기 때문에 임의로 설정해주기도 한다.

plugins {
    id: 'org.springframework.boot'	version: '3.0.1'
}

 

dependencies

프로젝트에서 사용할 라이브러리를 추가하는 영역이다.

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-web'
}

Maven Repository에 등록된 라이브러리를 쉽게 가져와 사용할 수 있다.


2. 데이터 통신 구조

웹 서비스는 기본적으로 클라이언트와 서버가 데이터를 주고받으며 동작한다.

Client → Request → Server
Client ← Response ← Server

예를 들어 사용자가 웹 페이지에 접속하면 브라우저는 서버에 요청(Request)을 보내고, 서버는 처리 결과를 응답(Response)으로 반환한다.

서버는 사용자 요청을 처리하고 데이터를 저장하거나 조회하는 역할을 수행한다.


3. API란?

API(Application Programming Interface)는 서로 다른 프로그램이 데이터를 주고받기 위한 규칙이다.

예를 들어 프론트엔드가 서버에 사용자 정보를 요청하면 다음과 같은 방식으로 통신한다.

Frontend → API 요청 → Backend
Frontend ← API 응답 ← Backend

API를 통해 프론트엔드와 백엔드가 분리되어 개발될 수 있다.


4. RESTful API

RESTful API는 API를 설계하는 대표적인 방식이다.

HTTP 메서드를 이용하여 자원을 관리한다.

메서드역할

GET 데이터 조회
POST 데이터 생성
PUT 데이터 수정
DELETE 데이터 삭제

예시

GET /users/1

→ 1번 사용자의 정보 조회

POST /users

→ 사용자 생성

RESTful API는 URL과 HTTP Method를 통해 요청의 목적을 명확하게 표현할 수 있다는 장점이 있다.


5. Apache Tomcat과 WAS

WAS(Web Application Server)

WAS는 사용자의 요청을 받아 비즈니스 로직을 수행하고 결과를 반환하는 서버이다.

대표적으로 Apache Tomcat이 있다.

Client
   ↓
Apache Tomcat
   ↓
Spring Boot Application

Tomcat은 HTTP 요청을 받아 Spring 애플리케이션에 전달하고, 처리 결과를 다시 사용자에게 반환한다.


6. Spring과 Spring Boot의 차이

Spring

기존 Spring Framework는 프로젝트를 시작할 때 직접 설정해야 할 항목이 많다.

  • XML 설정
  • 라이브러리 버전 관리
  • 서버 설정

설정 과정이 복잡한 편이다.

Spring Boot

Spring Boot는 Spring을 더 쉽고 빠르게 사용할 수 있도록 만든 프레임워크이다.

특징

  • 설정 최소화
  • 의존성 자동 관리
  • 내장 Tomcat 제공
  • 빠른 프로젝트 생성

덕분에 개발자는 비즈니스 로직 구현에 집중할 수 있다.


7. HTTP란?

HTTP(HyperText Transfer Protocol)는 클라이언트와 서버가 데이터를 주고받기 위한 통신 규약이다.

요청(Request)과 응답(Response)으로 구성된다.

HTTP Request

GET /users HTTP/1.1

클라이언트가 서버에 보내는 요청

Header

추가적인 정보를 전달한다.

예)

Content-Type: application/json
Authorization: Bearer Token

Body(Payload)

실제 전송할 데이터가 담긴다.

{
  "name": "Eunbin"
}

일반적으로 GET 요청은 Body를 사용하지 않는다.


HTTP Response

HTTP/1.1 200 OK

서버가 요청 처리 결과를 반환한다.

상태 코드

코드의미

200 성공
201 생성 성공
400 잘못된 요청
404 찾을 수 없음
500 서버 오류

오늘 배운 내용 정리

  • Gradle은 프로젝트 빌드와 라이브러리 관리를 담당한다.
  • dependencies를 통해 필요한 라이브러리를 추가할 수 있다.
  • 웹 서비스는 Request와 Response 방식으로 동작한다.
  • API는 프로그램 간 데이터 통신 규칙이다.
  • RESTful API는 HTTP Method를 활용해 자원을 관리한다.
  • Tomcat은 대표적인 WAS이며 Spring Boot에서 기본 제공된다.
  • Spring Boot는 Spring의 복잡한 설정을 자동화해 개발 효율을 높여준다.
  • HTTP는 클라이언트와 서버 간 통신 규약이며 Header와 Body를 포함한다.