Spring Boot 配置嵌入式Servlet容器
springboot默认tomcat作为嵌入式的servlet容器1. 修改和server有关的配置server.port8082 #通用的servlet容器设置 server.xxx #Tomcat的设置 server.tomcat.xxx//org.springframework.boot.autoconfigure.web.ServerPropertiesConfigurationProperties(prefixserver,ignoreUnknownFieldstrue)publicclassServerProperties{/** * Server HTTP port. */privateInteger port;...privatefinalServlet servletnewServlet();privatefinalTomcat tomcatnewTomcat();...}2. 注册一个WebServerFactoryCustomizer bean如果需要以编程方式配置嵌入的servlet容器可以注册一个实现WebServerFactoryCustomizer接口的SpringBean。WebServerFactoryCustomizer提供对可配置的ServletWebServerFactory的访问其中包括许多自定义设置器方法。以下示例以编程方式显示如何设置端口ComponentpublicclassCustomizationBeanimplementsWebServerFactoryCustomizerConfigurableServletWebServerFactory{Overridepublicvoidcustomize(ConfigurableServletWebServerFactory server){server.setPort(9000);}}TomcatServletWebServerFactory、JettyServletWebServerFactory和UndertowServletWebServerFactory是可配置的ServletWebServerFactory的专用变体分别为Tomcat、Jetty和Undertow提供了额外的自定义设置方法。ctrlh切换其他servlet容器springboot默认使用tomcat首先去除tomcat依赖再引入其他servlet容器dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-jetty/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-undertow/artifactId/dependency如果前面的自定义技术太有限您可以自己注册TomcatServletWebServerFactory、JettyServletWebServerFactory或UnderownServletWebServerFactory bean。BeanpublicConfigurableServletWebServerFactorywebServerFactory(){TomcatServletWebServerFactory factorynewTomcatServletWebServerFactory();factory.setPort(9000);factory.setSessionTimeout(10,TimeUnit.MINUTES);factory.addErrorPages(newErrorPage(HttpStatus.NOT_FOUND,/notfound.html));returnfactory;}在spring boot中会有很多的xxxCustomizer帮助我们进行定制配置