Pytania w tym artykule pojawiły się podczas szkolenia Tworzenie solidnych i ultraszybkich rozwiązań produkcyjnych bazując na sprawdzonych zaletach frameworka Spring Boot realizowanego w dniach 05-09.06.2017 r.
SpringBoot automatycznie konfiguruje i dostarcza server Tomcat jeśli tylko do zależności projektowych dodane zostaną zależności wskazujące, że środowiskiem działania aplikacji ma być kontener WEB (np. zależności org.springframework.boot:spring-boot-starter-data-rest, lub org.springframework.boot:spring-boot-starter-data-web).
Tak, obok servera Tomcat można wykorzystać server Jetty (http://www.eclipse.org/jetty/) lub Undertow (http://undertow.io).
Server Tomcat jest w SpringBoot konfigurowany domyślnie przy zależnościach spring-boot-starter-data-rest lub spring-boot-starter-data-web. Wystarczy dodać jedną z zależności
org.springframework.boot:spring-boot-starter-jetty dla servera Jetty lub org.springframework.boot:spring-boot-starter-undertow dla servera Undertow aby podmienić domyślny server.
Tak, na konfigurację wbudowanego kontenera WEB można wpływać z poziomu klasy konfiguracyjnej. W tym celu należy, w zależności od wybranego servera (Tomcat, Jetty, Undertow), zarejestrować bean - odpowiednio: TomcatEmbeddedServletContainerFactory, JettyEmbeddedServletContainerFactory lub UndertowEmbeddedServletContainerFactory. Jednakże często wystarczająca jest konfiguracja servera z poziomu pliku application.properties. Konfiguracja z poziomu klasy konfiguracyjnej: @Bean public EmbeddedServletContainerFactory servletContainer() { TomcatEmbeddedServletContainerFactory factory = new TomcatEmbeddedServletContainerFactory(); //konfiguracja return factory; }