基于war的Spring Boot工程

一、简介

前面创建的Spring Boot工程最终被打为了Jar包,是以可执行文件的形式出现的,其使用了Spring Boot内嵌的Tomcat作为Web服务器来运行web应用的。新版Dubbo的监控中心工程就是典型的应用。
           但在实际生产环境下,对于访问量不大的应用,直接以Jar包的形式出现,使用起来是非常方便的,不用部署了。但对于访问量较大的Web工程,我们不能使用Tomcat,而要使用更为高效的商业web容器,例如JBOSS、WebLogic等,此时我们需要的是war包而非jar包。
下面我们来看一下如何使用Spring Boot将工程打为war包。

二、工程创建

(1)工程创建

首先新建Spring Initializr

pom.xml文件内容

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  3. xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  4. <modelVersion>4.0.0</modelVersion>
  5. <parent>
  6. <groupId>org.springframework.boot</groupId>
  7. <artifactId>spring-boot-starter-parent</artifactId>
  8. <version>2.1.6.RELEASE</version>
  9. <relativePath/> <!-- lookup parent from repository -->
  10. </parent>
  11. <groupId>com.spring.boot.web</groupId>
  12. <artifactId>02-primary</artifactId>
  13. <version>0.0.1-SNAPSHOT</version>
  14. <packaging>war</packaging>
  15. <name>02-primary</name>
  16. <description>Demo project for Spring Boot</description>
  17. <properties>
  18. <java.version>1.8</java.version>
  19. </properties>
  20. <dependencies>
  21. <dependency>
  22. <groupId>org.springframework.boot</groupId>
  23. <artifactId>spring-boot-starter-web</artifactId>
  24. </dependency>
  25. <dependency>
  26. <groupId>org.springframework.boot</groupId>
  27. <artifactId>spring-boot-starter-tomcat</artifactId>
  28. <scope>provided</scope>
  29. </dependency>
  30. <dependency>
  31. <groupId>org.springframework.boot</groupId>
  32. <artifactId>spring-boot-starter-test</artifactId>
  33. <scope>test</scope>
  34. </dependency>
  35. </dependencies>
  36. <build>
  37. <plugins>
  38. <plugin>
  39. <groupId>org.springframework.boot</groupId>
  40. <artifactId>spring-boot-maven-plugin</artifactId>
  41. </plugin>
  42. </plugins>
  43. </build>
  44. </project>

(2)工程编辑

系统会在前面设置的包中自动生成一个启动类以及Servlet初始化类

在启动类所在的包下再创建一个子包,在其中编写SpringMVC的处理器类。注意,要求代码所在的包必须是启动类所在包的子孙包,不能是同级包。对于本例而言,要求代码必须出现在com.sping.boot.web包的子孙包中

(3)工程运行

1、打包

运行package命令,其会打为war包

2、部署

找到该war包,将其部署到Tomcat的webapps目录中,启动Tomcat

访问

在浏览器中可以访问到该工程。注意,由于工程是部署到了Tomcat的webapps中,不是部署到webapps/ROOT中,所以在访问时需要指定工程名

原文地址:https://www.cnblogs.com/edda/p/13261501.html