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 启动的了。
****期待您的进步