Spring boot 01. 개요

Geun Nam Park·2026년 4월 19일

Spring Boot

목록 보기
1/3

Spring boot란?

Spring boot는 Spring을 더 쉽게 사용할 수 있도록 만든 확장 프레임워크이다.
Spring에 비해 인프라 설정을 간단하게 할 수 있도록 하여, 비즈니스 로직 구현에만 집중할 수 있게 해준다.

Spring이란?

자바 기반의 오픈소스 엔터프라이즈 애플리케이션 프레임워크이다.
대규모 기업용 시스템을 개발할 때 복잡한 설정을 간소화하고, 개발자가 비즈니스 로직에만 집중할 수 있도록 돕는 "도구의 모음"이자 "프로그래밍 틀" 역할을 한다.
간단히, 재료가 이미 구해진 가구를 조립하는 것과 같다.

엔터프라이즈 애플리케이션 : 개인 사용자가 아닌 기업이나 대규모 조직의 비즈니스 목적을 달성하기 위해 설계된 대규모 소프트웨어 시스템

Spring의 주요 이점
1. 개발 속도 향상 : 자주 쓰는 기능이 대부분 만들어져 있음.
2. 유지보수 용이 : 코드 간의 의존성이 낮아져, 수정이 편리함.
3. 확장성 : spring boot, spring security 등 확장 기능 다수 보유.

Spring의 단점
1. 설정이 많음.(XML, Java Config 등)
2. 초기 설정 난이도가 높음
- 이로 인해 프로젝트 시작에 있어서 시간이 오래 걸리며, 설정 실수로 인한 오류가 빈번하게 나타난다.


Spring boot의 주요 특징


1. Auto Configuration (자동 설정)
의존성 추가만으로 설정을 자동으로 해줌

@SpringBootApplication
public class Application {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}
  • 필요한 Bean 자동 등록
  • 환경에 맞는 설정 자동 적용

2. Starter (의존성 관리)
Starter는 여러 라이브러리를 묶어둔 패키지다.

implementation 'org.springframework.boot:spring-boot-starter-web'

  Spring MVC, Tomcat, JSON 처리 라이브러리를 포함하여 웹 서버를 간단하게 구축 가능


3. 내장 서버 (Embedded Server)
Spring Boot는 서버를 내장하고 있다.

./gradlew bootrun

  Tomcat(기본), Jetty Undertow 서버를 포함하고 있으며, 별도 설치 없이 실행이 가능하며 실행 시 바로 서버에 올라간다.

4. Production Ready 기능
운영 환경을 위한 기능 제공
ex. Health Check, Metrics, Logging, Actuator 등


프로젝트 구조 미리보기

src
 └─ main
     ├─ java
     │   └─ com.example.project
             ├─ domain
             │   ├─ entity
                 └─ dto
     │       ├─ controller
     │       ├─ service
     │       └─ repository
     └─ resources
         ├─ application.yml
         └─ static

0개의 댓글