Spring Boot란?

안성희·2025년 7월 30일

개요

  • 국비지원 개발 공부를 하게 되면 거의 무조건 Spring Boot를 사용한다.
  • 채용공고에도 Spring Boot가 정말 매우 많다.
  • 얘는 뭘까?

정의

  • Spring Framework를 기반으로 한 확장 모듈
  • Spring 애플리케이션을 쉽고 빠르게 개발할 수 있도록 도와줌

특징

자동 설정

  • @EnableAutoConfiguration 어노테이션 기반
  • 클래스패스와 설정을 분석해 필요한 빈(bean)과 설정을 자동으로 구성

Starter

  • spring-boot-starter-* 형태의 Opinionated Dependencies를 제공
  • 웹, 보안, 데이터 접근 등 필요한 라이브러리를 일괄 추가 가능

내장 서버

  • Tomcat, Jetty, Undertow를 내장
  • 별도 WAS 설치 없이 JAR 실행만으로 애플리케이션을 바로 실행 가능

용어 정리

Spring

  • 제어역전(IoC)의존성 주입(DI), 관점 지향 프로그래밍(AOP)을 통해
  • 애플리케이션 구조를 단순화하고 유연성을 높여주는 자바 프레임워크

어노테이션

  • @ 기호로 시작하는 메타데이터
  • 프로그램의 실행 로직에 직접 영향을 주지 않음
  • 컴파일러나 런타임, 프레임워크가 이를 해석하여 동작 방식을 변경 또는 코드를 자동 생성 및 검증하는 용도로 활용

  • 스프링 IoC(Inversion of Control) 컨테이너가 생성, 설정, 관리하는 재사용 가능한 자바객체(POJO)
  • 개발자가 new 연산자를 직접 호출하지 않고, 스프링이 객체의 생명주기와 의존 관계를 대신 관리해 주는 객체

WAS

  • 웹 서버와 연동하여 데이터베이스 연동이 필요한 처리 과정을 담당
  • 트랜잭션 관리와 세션 보안 기능을 제공

JAR

  • 자바 클래스 파일과 관련 리소스, 메타데이터를 하나의 압축 파일(.jar)로 묶은 형식
  • 주로 라이브러리 배포나 애플리케이션 패키징, 웹 애플리케이션의 배포 단위로 사용

스프링 전문가

profile
무재다능 개발자

0개의 댓글