一、嵌入式Servlet容器配置修改
1、通过全局配置文件修改(application.properties/yml)
之前的文章说过自动配置原理(文章地址),只要涉及到自动配置的一定是在xxxAutoConfiguration类中,而xxxAutoConfiguration类中自动配置的组件会在xxxProperties类中获取值,而xxxProperties类与全局配置文件中映射了,所以我们只需要在配置文件给对应的属性赋值就会被Spring Boot自动配置上。
在ServerProperties中有很多属性,还有很多静态内部类,这些我们都可以在全局配置文件中进行配置,比如服务的端口号,请求的项目路径等等。
这里测试端口号和项目路径
2、给容器中配置WebServerFactoryCustomizer<ConfigurableWebServerFactory>组件,在匿名内部类中的customize方法里面设置
二、注册Servlet三大组件
1、Servlet:往容器中注册一个ServletRegistration<Servlet类名>
2、Filter:往容器中注册一个FilterRegistrationBean<Filter类名>
3、Listener:往容器中注册一个ServletListenerRegistrationBean<Listener类名>
三、切换其他Servlet容器
Spring Boot支持三种嵌入式Servlet容器,默认使用Tomcat
1、Tomcat
2、Jetty
3、Undertow
我们可以通过IDEA的依赖关系图来判断。由下面关系图可知,我们只要把对应的依赖排除,要使用哪种嵌入式Servlet容器只要添加对应的依赖就行了。
对应的Undertow也是一样的道理。