SpringBoot Web依赖
本文,主要记录如何切换Springboot内部 web依赖。
在使用SpringBoot时,首先引人注意的便是其启动方式,我们熟知的web项目都是需要部署到服务容器上,例如tomcat、weblogic、widefly(以前叫JBoss) ---小编百度得知,然后启动web容器真正运行我们的系统。而SpringBoot搭建的系统却是运行***Application.class中的main方法启动。这是为什么?
原因是SpringBoot除了高度集成封装了Spring一系列框架之外,还封装了web容器,SpringBoot启动时会根据配置启动相应的上下文环境,查看EmbeddedServletContainerAutoConfiguration源码可知(这里SpringBoot启动过程会单独总结分析)。
正常Tomcat服务启动
找到jar包下的内置目录
该自动配置类表明SpringBoot支持封装Tomcat、Jetty和Undertow三种web容器,查看spring-boot-starter-web的pom.xml(如下),其默认配置为Tomcat。
分析依赖坐标
排除Tomcat依赖
pom配置
<exclusions>
<exclusion>
<artifactId>spring-boot-starter-tomcat</artifactId>
<groupId>org.springframework.boot</groupId>
</exclusion>
</exclusions>
注意:以上部分会自动生成。做以下跟更改。
<!--web 开发的起步依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<!--排除TomCat 依赖-->
<exclusions>
<exclusion>
<artifactId>spring-boot-starter-tomcat</artifactId>
<groupId>org.springframework.boot</groupId>
</exclusion>
</exclusions>
</dependency>
<!-- 引入 jetty的依赖-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jetty</artifactId>
</dependency>
加载完依赖之后如下
就会看到 是以Jetty 启动的了。
以上为个人经验,希望能给大家一个参考,也希望大家多多支持编程网。