SpringBoot 은 개발자 입장에서 Spring을 좀 더 쉽게 사용할 수 있도록 도와주는 '도구'이다.
AutoConfiguration기존에 Spring 만 가지고 개발을 했을 땐 아주 많은 설정들을 일일이 적어줘야만 했다(설정 지옥 🔥). 하지만 SpringBoot에서는 기본설정을 제공해주기 때문에 개발자는 기본 설정 이외에 추가 설정이 필요할 때만 신경써주면 된다.
<aside> 💡 SpringBoot 를 사용하지 않고 필요한 설정을 직접 추가하는 경우 - WebMvcConfiguration 예제
</aside>
웹 애플리케이션을 개발하는동안 필요한 라이브러리들을 참조할 필요가 있다.(스프링 관련, 데이터베이스, 로깅 등) 각 라이브러리들은 호환되는 버전이 다른데, 이 호환되는 버전들을 일일이 신경써주어야 했다. (버전 관리 지옥 🔥) 하지만 스프링부트에서는 스타터라는 것을 제공하여 기본적인 의존성을 관리해준다.

application.yml : 웹 애플리케이션 관련 설정(사용 port), 사용할 DB 주소 설정, ...메인 애플리케이션의 위치는 기본 패키지에 두는 것을 권장한다. - 컴포넌트 스캔 (Todo 애플리케이션 에서는
todo.backend가 기본 패키지)
todo
+- backend
+- TodoApplication.java
|
+- config
+- controller
+- service
+- entity
+- repository
@SpringBootApplication 은 아래의 기능을 제공해주는 어노테이션이다.