springboot开发之配置嵌入式Servlet容器两种方式
springboot默认使用的是默认的Servlet容器(tomcat)。
如何定制和修改Servlet容器的相关配置?
(1)在主配置文件中修改与server的配置,例如server.port=8081等等
(2)可以修改和tomcat相关的配置,使用server.tomcat.xxx
(3)编写一个WebServerFactoryCustomizer:嵌入式的Servlet容器定制器,来修改Servlet容器的配置。我们可以建一个MyConfig.java
package com.gong.springbootcurd.config; import com.gong.springbootcurd.component.LoginHandlerInterceptor; import com.gong.springbootcurd.component.MyLocaleResolver; import org.springframework.boot.web.server.ConfigurableWebServerFactory; import org.springframework.boot.web.server.WebServerFactory; import org.springframework.boot.web.server.WebServerFactoryCustomizer; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import org.springframework.web.servlet.LocaleResolver; import org.springframework.web.servlet.config.annotation.EnableWebMvc; import org.springframework.web.servlet.config.annotation.InterceptorRegistry; import org.springframework.web.servlet.config.annotation.ViewControllerRegistry; import org.springframework.web.servlet.config.annotation.WebMvcConfigurer; //@EnableWebMvc 接管springmvc @Configuration public class MyMvcConfig implements WebMvcConfigurer{ @Bean public WebServerFactoryCustomizer<ConfigurableWebServerFactory> webServerFactoryCustomizer(){ return new WebServerFactoryCustomizer<ConfigurableWebServerFactory>() { @Override public void customize(ConfigurableWebServerFactory factory) { factory.setPort(8081); } }; } }
启动服务器之后会发现成功修改了servlet配置: