일반 스프링의 경우 프로젝트 설정을 .xml 파일로 처리함

스프링 컨테이너, 서블릿, DB, 웹 컨테이너 등 필요한 설정들을 모두 작성해주어야 함

<web-app>
  <servlet>
    <servlet-name>dispatcher</servlet-name>
    <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class>
    <init-param>
      <param-name>contextConfigLocation</param-name>
      <param-value>/WEB-INF/spring-servlet.xml</param-value>
    </init-param>
  </servlet>
  <servlet-mapping>
    <servlet-name>dispatcher</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>
</web-app>

반면 스프링 부트는?

@SpringBootApplication
public class MyApplication {
    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
}

이거 하나면 끝!

여기 붙은 @SpringBootApplication은 다음 역할을 수행함

필요한 라이브러리들은 build.gradle의 dependencies 영역에 작성해 주면 자동으로 설치 및 세팅을 진행함

또한 스프링 부트는 자주 사용하는 의존성들을 패키지로 묶어서 제공

dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-web'
    implementation 'org.springframework.boot:spring-boot-starter-jdbc'
    testImplementation 'org.springframework.boot:spring-boot-starter-test'
    implementation 'com.h2database:h2'
}