Spring Boot為完成不同需求的Spring應用構建,提供了多種不同的依賴管理模板,每種模板均為一系列已完成的依賴的管理。例如在我們的入門程序中,需要構建web項目,我們只需添加spring-boot-starter-web的依賴即可,它會將你所需的其他依賴導入到你的工程中。官方稱之為“物料清單”(Bills of Materials),也因此在使用時我們需要構建工具的支持,如Maven或者Gradle等。
pom.xml文件
<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.1.3.RELEASE</version> <relativePath/><!-- lookup parent from repository --> </parent> <groupId>com.example</groupId> <artifactId>demo</artifactId> <version>0.0.1-SNAPSHOT</version> <name>demo</name> <description>Demo project for Spring Boot</description> <properties> <java.version>1.8</java.version> </properties> <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-test</artifactId> <scope>test</scope> </dependency> </dependencies> <build> <plugins> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> </plugins> </build> </project>
l 繼承Spring Boot的提供的父工程
增加父pom比較簡單,spring-boot-starter-parent這個jar包中包含了大量配置好的依賴管理,
l 添加spring-boot-starter-web依賴
Spring通過添加spring-boot-starter-*這樣的依賴就能支持具體的某個功能。通過使用這些starters,我們可以快速完成項目構建而一個個的進行依賴的導入。我們這個示例最終是要實現web功能,所以添加的是這個依賴。
當然,實現web項目的功能,也可以不使用spring-boot-start-web,通過自己添加的依賴包也可以實現,但是需要一個個添加,費時費力,而且可能產生版本依賴沖突。
l 添加spring-boot-maven-plugin插件
該插件支持多種功能,常用的有兩種:
1、 第一種是打包項目為可執行的jar包。
在項目根目錄下執行mvn package將會生成一個可執行的jar包,jar包中包含了所有依賴的jar包,只需要這一個jar包就可以運行程序,使用起來很方便。該命令執行后還會保留一個XXX.jar.original的jar包,包含了項目中單獨的部分。
生成這個可執行的jar包后,在命令行執行java -jar xxxx.jar即可啟動項目。
2、另外一個命令就是mvn spring-boot:run,可以直接使用tomcat(默認)啟動項目。
注意:
Spring默認使用jdk1.6,如果你想使用jdk1.8,你需要在pom.xml的屬性里面添加java.version,如下:
<properties> <java.version>1.8</java.version> </properties>