스프링과 스프링 부트에 대해 공부하고 기록하고자 포스팅합니다. 더보기더보기더보기더보기더보기더보기더보기더보기 …



비교표

항목 Spring Framework Spring Boot
설정 파일 XML, Java Config 수동 작성 application.properties로 간단 설정
의존성 개별 라이브러리 직접 관리 starter로 묶음 관리
서버 외부 WAS 필요 (Tomcat 등) 내장 서버 포함
배포 WAR 파일 JAR 파일 (실행 가능)
개발 시간 초기 설정 오래 걸림 빠른 시작
학습 곡선 가파름 완만함
@SpringBootApplication  // 이것만으로 대부분 자동
// 내부적으로 이렇게 동작:
// 1. classpath에 spring-jdbc가 있나? → DataSource 자동 생성
// 2. classpath에 spring-data-jpa가 있나? → EntityManager 자동 생성
// 3. classpath에 HikariCP가 있나? → 커넥션 풀 자동 설정
// 4. classpath에 spring-webmvc가 있나? → DispatcherServlet 자동 등록
public class Application {
}

프로젝트 구조 비교

Spring Framework 프로젝트

src/
  main/
    java/
    resources/
    webapp/
      WEB-INF/
        web.xml           ← 서블릿 설정
        applicationContext.xml  ← Spring 설정
        dispatcher-servlet.xml  ← MVC 설정
        views/

Spring Boot 프로젝트

src/
  main/
    java/
      Application.java   ← 메인 실행 파일
    resources/
      application.properties  ← 모든 설정이 여기