spring boot中web容器配置

web容器配置

spring boot 默认的web容器是 tomcat,如果需要换成其他的 web 容器,可以如下配置。

<dependency>
    <groupId>org.springframework.bootgroupId>
    <artifactId>spring-boot-starter-webartifactId>
    
    <exclusions>
        <exclusion>
            <groupId>org.springframework.bootgroupId>
            <artifactId>spring-boot-starter-tomcatartifactId>
        exclusion>
    exclusions>
dependency>
 
<dependency>     
   <groupId>org.springframework.bootgroupId>
   
   <artifactId>spring-boot-starter-jettyartifactId>
dependency>

如果使用的 reactive 的话,tomcat,jetty,Undertow 之外还可以选择 netty。

正常来说,spring boot 会根据是否有spring-boot-starter-web来确定当前是项目是一个web项目(servlet还是reactive),还是一个javase项目,同时还可以在配置文件中指定是否启动web容器,或者容器的类型。
spring boot中web容器配置_第1张图片
spring boot 端口配置

server:
  # 指定端口号
  port: 8888
  # 关闭 http 请求
  port: -1
  # 随机端口
  port: 0

如果是随机端口,可以通过自定义监听器来获取端口,然后使用。

import org.springframework.boot.web.context.WebServerInitializedEvent;
import org.springframework.context.ApplicationListener;

public class PortApplicationListener implements ApplicationListener<WebServerInitializedEvent> {
    @Override
    public void onApplicationEvent(WebServerInitializedEvent event) {
        System.out.println("event.getWebServer().getPort() = " + event.getWebServer().getPort());
    }
}

配置 spring boot 的相应压缩,一般用不到,实际使用中通过 nginx 来做返回内容的压缩即可。

server:
  port: 8888
  compression:
    enabled: true
    # 大于 2kb 的内容进行压缩
    min-response-size: 2
    # 压缩的文件类型
    mime-types: application/fastsoap

你可能感兴趣的:(spring,JAVA,spring,boot)