어렴풋이 대충 알고 있던 내용을 정리해본다
공통점
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파일만으로도 배포 가능