Spring Boot自动配置–如何切换内置Web服务器

导读:本篇文章讲解 Spring Boot自动配置–如何切换内置Web服务器,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

系列文章目录

Spring Boot[概述、功能、快速入门]_心态还需努力呀的博客-CSDN博客

Spring Boot读取配置文件内容的三种方式_心态还需努力呀的博客-CSDN博客

Spring Boot整合Junit_心态还需努力呀的博客-CSDN博客 

该系列文章持续更新中~


目录

系列文章目录

前言

一、默认tomcat服务器

二、查看内置服务器种类

三、编写坐标 

 四、效果图

总结


前言

SpringBoot的web环境中默认使用tomcat作为内置服务器,其实SpringBoot提供了四种内置服务器供我们选择,我们可以很方便的进行切换。这里为演示,我们将默认的tomcat服务器切换成jetty服务器来做演示。(当然这4中服务器的切换流程都是一样的,所以只举例切换将tomcat服务器–jetty服务器)


一、默认tomcat服务器

当我们创建完SpringBoot项目导入web依赖后,在启动后会发现默认启动的是Tomcat服务器,如下图空色框内所示:

Spring Boot自动配置--如何切换内置Web服务器

 

二、查看内置服务器种类

查看源码,找到四种内置服务器。(在autoconfigure下的web/embedded下面),会发现如下图所示的四种服务器分别是Jetty、Netty、Tomcat、Undertow服务器。还有一个配置服务器的条件类。

Spring Boot自动配置--如何切换内置Web服务器

 我们查看配置服务器的条件类EmbeddedWebServerFactoryCustomizerAutoConfiguration代码。注:1.Conditional是条件判断,返回boolean值。如果为true才会执行该方法。

       2.下图的XXX.class是字节码文件。

也就是说如果有这样一个字节码文件才会去执行。

Spring Boot自动配置--如何切换内置Web服务器

三、编写坐标 

根据上述的分析,我们只需要去编写坐标,springboot框架就会自动的去根据坐标判断是否有这样的字节码文件,从而导入相应的服务器。

我们也可查看依赖关系,如下图所示:默认就是tomcat,和我们运行的结果是一样的。所以我们现在要想切换服务器,1.必须现将Tomcat服务器排除掉,2.然后再去进行配置要切换的服务器。

Spring Boot自动配置--如何切换内置Web服务器

 pom.xml代码:

<!-- web开发的起步依赖-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
    <!--将tomcat排除掉-->
    <exclusions>
          <exclusion>
               <groupId>org.springframework.boot</groupId>
               <artifactId>spring-boot-starter-tomcat</artifactId>
          </exclusion>
    </exclusions>
</dependency>
<!--将服务器切换为jetty-->
<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-jetty</artifactId>
</dependency>

 四、效果图

在启动SpringBoot项目后,在控制台查看服务器。可看到已经将tomcat切换为了jetty服务器。如下图所示:

Spring Boot自动配置--如何切换内置Web服务器

 


总结

切换的代码就是更改pom.xml文件的web坐标,将tomcat排除掉后去配置其他服务器。但对于源码我们还是要去多多了解的,我们要练习看源码的能力。这样不管你知不知道,都能够去通过源码将内部的实现过程了解并且更改成你想要的信息。所以大家重在学习源码。了解其内部的实现是非常重要的。

2023年1月9日,我的粉丝数突破2000,很开心大家对我的支持。我会更加努力的创作出更加优秀的作品。大家一起学习一起进步。在这里谢谢大家的陪伴~

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/114625.html

(0)
Java光头强的头像Java光头强

相关推荐

发表回复

登录后才能评论
极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!