기술과 산업/언어 및 프레임워크

Spring Boot 시리즈 1편 – 기본 설정과 프로젝트 구조 정리

B컷개발자 2025. 4. 15. 17:00
728x90

Spring Boot의 기본 설정과 프로젝트 구조를 이해하는 것은 백엔드 개발의 첫걸음입니다. 자동 설정, 의존성 관리, 폴더 구조까지 상세히 설명합니다.


Spring Boot 시리즈 1편 – 기본 설정과 프로젝트 구조 정리

Spring Boot는 복잡한 설정 없이 빠르게 스프링 애플리케이션을 시작할 수 있도록 도와주는 프레임워크입니다.
이번 시리즈의 첫 번째 편에서는 Spring Boot의 기본 개념, 자동 설정 원리, 프로젝트 구조, 그리고 실행 원리까지 단계적으로 정리해보겠습니다.


📌 Spring Boot란?

Spring Boot는 Spring Framework 기반의 스타터 프레임워크로, 설정 파일을 최소화하고 내장 톰캣 서버로 쉽게 실행할 수 있는 점이 특징입니다.

키워드: Spring Boot 기본 설정, 자동 설정, 내장 서버, starter dependencies

✅ 왜 Spring Boot를 써야 할까?

  • 복잡한 XML 설정 → 자동 구성으로 대체
  • 빠른 애플리케이션 실행 (내장 톰캣)
  • 프로젝트 템플릿 제공 (Spring Initializr)
  • 프로덕션 준비된 기본 설정 제공

⚙️ Spring Boot 기본 설정 이해하기

1. Spring Initializr로 프로젝트 생성

공식 사이트: https://start.spring.io

설정 예시:

  • Project: Gradle or Maven
  • Language: Java
  • Spring Boot: 3.x
  • Dependencies: Spring Web, Lombok, Spring Boot DevTools, Spring Data JPA 등
├── src
│   ├── main
│   │   ├── java
│   │   │   └── com.example.demo
│   │   │       └── DemoApplication.java
│   │   └── resources
│   │       ├── application.properties (or application.yml)
│   │       └── static / templates
│   └── test

핵심 클래스 DemoApplication.java는 @SpringBootApplication으로 시작하며, 애플리케이션의 진입점을 정의합니다.


2. @SpringBootApplication의 정체는?

@SpringBootApplication
public class DemoApplication {
    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);
    }
}

해당 애노테이션은 다음 3가지를 포함합니다:

  • @Configuration – 빈 정의 파일로 사용
  • @EnableAutoConfiguration – 스프링이 자동으로 설정
  • @ComponentScan – 같은 패키지 하위의 Bean들을 탐색

3. application.properties 설정

Spring Boot의 핵심은 application.properties 또는 application.yml 파일에 있습니다.
이 설정 파일을 통해 DB 연결, 포트, 로깅 등 다양한 환경 설정을 손쉽게 구성할 수 있습니다.

server.port=8081
spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=root
spring.datasource.password=1234
spring.jpa.hibernate.ddl-auto=update

4. 내장 톰캣 실행 구조

Spring Boot는 Tomcat 서버를 따로 설치하지 않고, JAR 파일 안에 포함된 톰캣을 실행합니다.

  • SpringApplication.run() 실행 시 내부에서 내장 톰캣을 초기화
  • 외부 WAR 배포가 필요 없이 JAR 실행 가능 (java -jar demo.jar)
  • application.properties로 포트 등 서버 설정 변경 가능

🧠 실무 인사이트 – 기본 설정의 중요성

Spring Boot를 학습하면서 가장 많이 실수하는 부분 중 하나는 기본 설정을 깊이 있게 이해하지 않고 바로 개발을 시작하는 것입니다.
하지만 설정 파일과 실행 구조를 명확히 이해해야 나중에 다음과 같은 상황에 대처할 수 있습니다:

  • 다양한 환경(dev/stage/prod) 설정 분리
  • REST API 프로젝트 구조 설계
  • 의존성 충돌 및 자동 설정 오류 디버깅

✅ 마무리 요약

항목 설명

Spring Boot 역할 Spring 기반 개발의 복잡함 제거, 빠른 셋업
자동 설정의 원리 @SpringBootApplication → 자동 Bean 등록
프로젝트 구성 main/resources와 패키지 구조 이해 필수
실행 방식 내장 톰캣, java -jar로 바로 실행 가능
설정 파일 application.properties로 환경 설정 제어

📌 다음 편 예고

Spring Boot 시리즈 2편: REST API 구조 설계와 Controller 작성 가이드

 

728x90