카테고리 없음

Spring과 Spring Boot의 차이점

기기디 2024. 2. 14. 13:00

어렴풋이 대충 알고 있던 내용을 정리해본다

 

공통점

Spring 생태계 기반 자바 프레임 워크

Spring

개발자가 직접 설정파일을 작성해야 하는 부분의 리소스가 크다. 모든 빈 객체 등록, 객체 간 의존성 설정, 컴포넌트 구성을 해야함

별도로 was를 설치하고 설정하는것이 필요

배포시 war파일을 생성해서 Tomcat에 배포해야함

Spring Boot

간결한 설정 & 자동 구성

  • 보일러 플레이트 코드 최소화 - 보편적으로 많이 사용되는 트랜잭션 매니저, JDBC Template등을 기본적으로 Bean으로 등록되어있음
  • XML 설정 불필요
  • 어노테이션을 통해 컴포넌트들을 스캔하여 자동으로 Bean에 등록(@Component, @Controller, @Service…)

의존성 & 버전 관리 간소화

  • Starter를 통한 dependency 자동화
  • 버전를 권장버전으로 자동 설정
  • 예시 - 만약 test프레임워크가 필요하다면 pom.xml이나 build.gradle에 'spring-boot-starter-test'만 추가해주면 필요한 dependency를(junit, mockito…) 자동으로 추가하고 관리해준다. ( JPA의 경우 JDBC, HikariCP…)

배포 편의성

  • 프레임워크 단에서 tomcat 내장 서버 제공을 통하여 jar파일만으로도 배포 가능