Logo

스프링 부트 내장 서버 바꾸기

본 포스팅에서는 스프링 부트의 내장 서버를 바꾸는 방법에 대해서 알아보도록 하겠습니다.

메이븐 설정 파일(pom.xml)만 조금씩 수정해주면 다양한 내장 서버를 사용해볼 수 있습니다.

Tomcat

스프링 부트는 디플트 내장 서버로 Tomcat을 사용하고 있습니다.

따라서 특별한 설정없이 Web Starter 의존성만 추가해주면 됩니다.

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-web</artifactId>
</dependency>

바로 스프링 부트 애플리케이션을 실행하면 Tocmat 내장 서버가 올라갑니다.

2017-08-13 14:27:51.375  INFO 94083 --- [           main] s.b.c.e.t.TomcatEmbeddedServletContainer : Tomcat started on port(s): 8080 (http)

Jetty

스프링 부트의 내장 서버로 Tomcat 대신에 Jetty를 사용해보겠습니디.

먼저 Web Starter에 기본적으로 들어있는 Tomcat Starter를 제외시켜 줍니다.

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-web</artifactId>
  <exclusions>
    <exclusion>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-tomcat</artifactId>
    </exclusion>
  </exclusions>
</dependency>

다음으로 Jetty Starter 의존성을 추가해줍니다.

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-jetty</artifactId>
</dependency>

위와 같이 설정 후 스프링 부트 애플리케이션을 실행하면 Jetty 내장 서버가 올라갑니다.

2017-08-13 14:38:18.981  INFO 93986 --- [           main] .s.b.c.e.j.JettyEmbeddedServletContainer : Jetty started on port(s) 8080 (http/1.1)

Undertow

Undertow도 Jetty와 동일한 방식으로 설정해줄 수 있습니다.

먼저 Web Starter에 기본적으로 들어있는 Tomcat Starter를 제외시켜 주고, Undertow Starter 의존성만 추가 후에 스프링 부트 애플리케이션을 실행하면 Undertow 내장 서버가 올라갑니다.

<dependency>
  <groupId>org.springframework.boot</groupId>
  <artifactId>spring-boot-starter-undertow</artifactId>
</dependency>
2017-08-13 14:41:40.047  INFO 94037 --- [           main] b.c.e.u.UndertowEmbeddedServletContainer : Undertow started on port(s) 8080 (http)

이상으로 스프링 부트에서 제공하는 3가지 내장 서버를 바꿔가며 사용하는 방법에 대해서 알아보았습니다.