ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Spring Boot 시리즈 1편 – 기본 설정과 프로젝트 구조 정리
    기술과 산업/언어 및 프레임워크 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
Designed by Tistory.