title: providedRuntime `spring-boot-starter-undertow` in `build.gradle` but `:bootRun` still using Tomcat instead of undertow
body: <p>I have just initialised a new Spring Boot application and my <code>build.gradle</code> has the following dependencies:</p>
  
  <pre><code>dependencies {
      implementation 'org.springframework.boot:spring-boot-starter-web'
      providedRuntime 'org.springframework.boot:spring-boot-starter-undertow'
      testImplementation 'org.springframework.boot:spring-boot-starter-test'
  }
  </code></pre>
  
  <p>When I run <code>./gradlew bootRun</code>, it is using Tomcat.  I understand <code>starter-web</code> includes Tomcat, but isn't <code>providedRuntime</code> there to override that?</p>
  
  <p>How do I actually use undertow to run my Spring controllers?</p>
  
  <p>EDIT:</p>
  
  <p>I just realised my <code>ServletInitializer.java</code> looks like this:</p>
  
  <pre><code>import org.springframework.boot.builder.SpringApplicationBuilder;
  import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;
  
  public class ServletInitializer extends SpringBootServletInitializer {
  
      @Override
      protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
          return application.sources(AccountServiceApplication.class);
      }
  
  }
  </code></pre>
  
  <p>This tells me it is initialising a servlet, which I assumed is <code>undertow</code> based on the dependencies, but was I wrong?</p>