SpringBoot - 嵌入式容器配置与修改
【1】嵌入式容器SpringBoot默认使用Tomcat作为嵌入式的Servlet容器。查看pom文件依赖图如下:【2】配置嵌入式Tomcat容器① 配置文件中进行配置查看Server配置类ServerProperties,其属性和内部类如下:即,与Server有关的配置与该类对应,该类中除了Tomcat还有jetty、undertow等容器可以进行...
·
【1】嵌入式容器
SpringBoot默认使用Tomcat作为嵌入式的Servlet容器。
查看pom文件依赖图如下:
【2】配置嵌入式Tomcat容器
① 配置文件中进行配置
查看Server配置类ServerProperties,其属性和内部类如下:
即,与Server有关的配置与该类对应,该类中除了Tomcat还有jetty、undertow等容器可以进行配置。
如下图,在配置文件中对Tomcat进行配置:
② 编写一个EmbeddedServletContainerCustomizer
嵌入式的Servlet容器的定制器;来修改Servlet容器的配置。
示例如下:
//配置嵌入式的Servlet容器
@Bean
public EmbeddedServletContainerCustomizer embeddedServletContainerCustomizer(){
return new EmbeddedServletContainerCustomizer() {
//定制嵌入式的Servlet容器相关的规则
@Override
public void customize(ConfigurableEmbeddedServletContainer container) {
container.setPort(8083);
}
};
}
【3】切换其他容器
SpringBoot默认还支持Jetty和Undertow容器,Undertow是一个高性能非阻塞的Servlet容器,并发性能很好,但是不支持JSP。Jetty更适合开发一些长连接Web应用,如Web聊天。
如下图所示,是ConfigurableEmbeddedServletContainer继承树:
即,该container可以配置Tomcat、Jetty和UndertowServlet容器。
SpringBoot默认使用的是Tomcat,如果要切换其他容器,则只需要在pom文件中去掉Tomcat依赖,添加其他依赖,如Jetty。
示例如下:
<!-- 引入web模块 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<artifactId>spring-boot-starter-tomcat</artifactId>
<groupId>org.springframework.boot</groupId>
</exclusion>
</exclusions>
</dependency>
<!--引入其他的Servlet容器-->
<dependency>
<artifactId>spring-boot-starter-jetty</artifactId>
<groupId>org.springframework.boot</groupId>
</dependency>
更多推荐
已为社区贡献22条内容
所有评论(0)