1. 스프링 부트의 특징
- 의존성관리
 - 자동설정
 - 내장 웹서버
 
2. 의존성 관리
스프링 부트는 starter- 를 통해서 의존성관리를 한다. pom.xml 파일에 상위에 정의되어있는 spring-boot-starter-parent 위에 spring-boot-dependencies 를 보면 다음과 같이 수많은 버전들을 관리 해준다.
<properties>
	<activemq.version>5.15.9</activemq.version>
	<antlr2.version>2.7.7</antlr2.version>
	<appengine-sdk.version>1.9.73</appengine-sdk.version>
	//... 생략
<properties>
그래서 pom.xml에 version 를 명시하지 않아도, parent -> dependencies에 명시했던 버전 관리를 통해서 자동으로 버전이 등록된다. 인텔리J에서 클릭하면 해당 버전으로 이동하게 된다. 물론 다른 버전을 적용하고 싶으면 명시적으로 version을 명시적으로 적었을 때 오버라이딩이 된다.
3. 자동설정
스프링 부트는 빈을 등록하는게 크게 2가지로 이루어진다.
- @ComponentScan을 통해서 @Component, @Serveice, @Repository .. 와 같은 컴포넌트 기반을 스캐닝해서 우리가 정의한 빈들을 등록한다.
 - @EnableAutoConfiguration을 통해서, 
META-INF하위에 있는spring.factories파일에 정의된 클래스들에 의해서 빈으로 등록된다. (@ConditionalOnMissingBean 같은 경우, 빈으로 등록되어있지 않은 경우, 저기에서 정의한 대로 빈으로 등록한다.) 
4. 내장 웹서버
스프링 부트는 내장 웹서버를 가지고(?) 있다. 메인 애플리케이션으로 띄울 수 있고, jar로 패키징된 파일 하나로 만들고, 해당 jar를 실행해서도 애플리케이션을 띄울 수 있다.
스프링 부트는 != 웹서버는 아니다.
여러 가지 설정을 할 수 있다.
- server.port = 0 (random)
 - spring.main.web-application-type=none -> 내장 웹서버로 실행하지 않음
 - https 설정, http2.0 설정
 
📚 Related Posts
- Spring WebFlux 테스트 방법
 - Spring과 MongoDB 연동 실전 가이드
 - SpringBoot, MongoDB 시작하기
 - Spring Boot 서버 타임존 설정 방법
 - SpringBoot CommandLineRunner, ApplicationRunner 초기화 방법
 - Jackson, LocalDateTime Serialization, Deserialization 이슈
 - Spring Boot, Dockerfile로 이미지 생성, 배포하기
 - SpringBoot RabbitMQ 연동하기
 - Junit5 정리
 - Spring Sentry(에러 트래킹 서비스) 적용하기
 - [Spring] 빈 주입하는 방법 && Best Practice
 - Thymeleaf 실무에서 자주 사용하는 것들
 - Thymeleaf Collection 정보 화면에 렌더링하기
 - Spring, JPA를 이용한 REST API 만들기
 - [Spring] MultipartFile을 이용한 파일 업로드
 - [Spring] 모델 검증(validation)
 - [Spring]HandlerMethodArgumentResolver 인터페이스
 - [Spring] DispatcherServlet에 대해서 알아보자
 - [Spring] MVC 만들어 보기
 - [Spring] 메세지 컨버터
 - [Spring] MVC 살펴보기
 - [Spring] @ConfigurationProperties를 이용해서 properties값들을 클래스로 관리하기
 - [Spring] Profile 설정하기
 - [Spring] SpringApplication를 통한 코딩
 - [Spring Boot] 스프링 부트 3가지 특징
 - [Spring] @SpringBootAppllication 어노테이션에 대한 고찰
 - [Spring] bean circular dependencies (빈 순환 참조)
 - [Spring]Bean에 대해서 알아보자
 - SpringBoot, JPA, H2를 이용한 간단한API 작성
 - [Spring] Spring Data Common 프로젝트 살펴보기