一、Spring Boot 默认使用 tomcat 容器,为什么是tomcat? 如何修改为其他容器?
1.spring boot 目前支持tomcat、jetty、undertow,而这三种容器都有自己的配置类且只有在满足指定条件下才能被创建,具体可见ServletWebServerFactoryConfiguration.java。pom.xml中,在spring-boot-starter-web依赖中又引入了spring-boot-starter-tomcat依赖,所以默认是tomcat
2.假设要换成jetty,需要修改pom文件,如下:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-jetty</artifactId>
</dependency>
</dependencies>
然后启动应用,可以看到已经换成jetty,且启动成功。
访问接口也是成功的
二、修改端口号等配置,除了在配置文件中修改外,还可以用重写Bean的方式修改,定义一个@Configuration配置类,重写Bean,如下:
三、spring boot 如何打war包并部署到tomcat?
1.修改pom.xml,如下:
2.启动类继承SpringBootServletInitializer,并加上如下代码:
关于这个SpringBootServletInitializer,类注释上有一段说明,如下:
3.使用maven打包,并查看,如下:
4.将war包拷贝至tomcat目录下,如下:
5.进入tomcat的bin目录下,点击startup.bat,启动成功后,访问接口,可看到如下效果: