45.SpringBoot学习笔记

嵌入式Servlet容器配置修改

Posted by Chen Xingxu on June 20, 2020

45.SpringBoot学习笔记–嵌入式Servlet容器配置修改

配置嵌入式 Servlet 容器

Spring Boot 默认使用 Tomcat 作为嵌入式 Servlet 容器。

定制和修改 Servlet 容器的相关配置

1、修改和 server 有关的配置(org.springframework.boot.autoconfigure.web.ServerProperties)

server.port=8081
server.servlet.context-path=/crud
server.tomcat.uri-encoding=UTF-8

#通用的Servlet容器设置
server.xxx
server.servlet.xxx
#Tomcat的设置
server.tomcat.xxx

2、编写一个 WebServerFactoryCustomizer:嵌入式的 Servlet 容器的定制器。

修改 Servlet 容器的配置。使用该方法配置的优先级要高于在 properties 文件中的配置。在 Spring Boot 中会有很多的 xxxCustomizer 帮助我们进行定制配置。

demo.yangxu.springboot.config.MyMvcConfig#webServerFactoryCustomizer

//一定要将这个定制器加入到容器中
@Bean
public WebServerFactoryCustomizer<ConfigurableWebServerFactory> webServerFactoryCustomizer(){
    return new WebServerFactoryCustomizer<ConfigurableWebServerFactory>(){
        //定制嵌入式的Servlet容器相关的规则
        @Override
        public void customize(ConfigurableWebServerFactory factory) {
            factory.setPort(8083);
        }
    };
}