前言
使用SpringBoot來開發(fā)項目相對于傳統(tǒng)模式甲雅,要快速優(yōu)雅許多峰锁,相信目前國內(nèi)絕大部分web項目的開發(fā)還沒有使用SpringBoot來做萎馅,如果你正需要開發(fā)一個web項目,不妨嘗試使用SpringBoot來做虹蒋。
本身SpringBoot是內(nèi)嵌了web服務(wù)器糜芳,不需要單獨的Tomcat,但是實際生產(chǎn)環(huán)境中魄衅,如果是web項目峭竣,Tomcat肯定是運維部門部署好了的,這個Tomcat晃虫,做了一些個性化的設(shè)置皆撩,開發(fā)出來的項目需要部署到這個Tomcat,如果是使用SpringBoot開發(fā)web服務(wù)哲银,我認(rèn)為可以直接使用內(nèi)嵌的Tomcat扛吞,簡單易于維護(hù)。
技術(shù)框架
- SpringBoot
- Maven
- Tomcat8
要點
- 啟動類Application.java需要繼承SpringBootServletInitializer
- 打包war的時候荆责,過濾tomcat依賴喻粹,需要添加<scope>provided</scope>
- 通過maven-war-plugin執(zhí)行打包文件名,在application.properties文件中指定web項目的上下文
- 老外寫的文章https://www.mkyong.com/spring-boot/spring-boot-deploy-war-file-to-tomcat/ 英文好的同學(xué)可以直接查看這篇文章
開發(fā)過程
1.創(chuàng)建一個Maven Project(quickstart),名稱為myweb,添加POM依賴
<modelVersion>4.0.0</modelVersion>
<groupId>com.boyue</groupId>
<artifactId>myweb</artifactId>
<packaging>war</packaging>
<version>0.0.1-SNAPSHOT</version>
<name>myweb Maven Webapp</name>
<url>http://maven.apache.org</url>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.4.2.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-thymeleaf</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
</dependencies>
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<configuration>
<warName>myweb</warName>
</configuration>
</plugin>
</plugins>
</build>
2.創(chuàng)建Application.java
@SpringBootApplication
public class SpringBootWebApplication extends SpringBootServletInitializer {
public static void main(String[] args) throws Exception {
SpringApplication.run(SpringBootWebApplication.class, args);
}
}
3.創(chuàng)建IndexController.java
@Controller
@RequestMapping("/")
public class IndexController{
@RequestMapping("/index")
public String index(ModelMap map){
map.addAttribute("host","www.reibang.com");
return "index";
}
}
4.在src/main/resources下創(chuàng)建application.properties
server.contextPath=/myweb
5.在src/main/resources創(chuàng)建templates文件夾,添加index.html文件
<!DOCTYPE HTML>
<html>
<head lang="en">
<meta charset="UTF-8" />
<title></title>
</head>
<body>
<h1 th:text="${host}"></h1>
</body>
6.運行方式
- 直接啟動Application.java的main函數(shù)草巡,通過SpringBoot內(nèi)嵌的Tomcat運行
- 執(zhí)行mvn package 生產(chǎn)"myweb.war"包,拷貝到自己部署的Tomcat下,啟動Tomcat運行
7.運行結(jié)果
訪問http://localhost:8080/myweb/index
頁面顯示www.reibang.com