1、步驟
創(chuàng)建一個(gè)Spring Boot的java項(xiàng)目。
導(dǎo)入依賴Spring Boot相關(guān)的依賴。
編寫(xiě)一個(gè)java類,用于啟動(dòng)Spring Boot項(xiàng)目(helloword.java)。
編寫(xiě)相關(guān)業(yè)務(wù)類(hellocontroller.java)。
運(yùn)行helloword.java中的main函數(shù),啟動(dòng)Spring Boot項(xiàng)目。
通過(guò)瀏覽器訪問(wèn)Spring Boot項(xiàng)目。
2、操作
(1)創(chuàng)建一個(gè)Spring Boot的java項(xiàng)目
具體可以看博客:http://www.itdecent.cn/p/9e9a2613e901,不通過(guò)骨架創(chuàng)建Maven的Java項(xiàng)目。文章里已經(jīng)總結(jié)好。
(2)導(dǎo)入依賴Spring Boot相關(guān)的依賴
在項(xiàng)目中的pom.xml文件中,添加下面內(nèi)容,配置Spring Boot相關(guān)依賴。
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>1.5.9.RELEASE</version>
</parent>
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
(3)編寫(xiě)一個(gè)java類,用于啟動(dòng)Spring Boot項(xiàng)目
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
* 用來(lái)來(lái)標(biāo)注一個(gè)java的主程序類,
* 說(shuō)明這是一個(gè)Spring Boot應(yīng)用。
*/
@SpringBootApplication
public class helloword {
public static void main(String[] args) {
// Spring應(yīng)用啟動(dòng)起來(lái)
SpringApplication.run(helloword.class,args);
}
}
(4)編寫(xiě)相關(guān)業(yè)務(wù)類
業(yè)務(wù)類就是需要我們寫(xiě)的Controller層、Service層。
我們這里只寫(xiě)一個(gè)Controller層,能夠返回一個(gè)數(shù)據(jù)就可以。
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
public class hellocontroller {
@ResponseBody
@RequestMapping("/hello")
public String hello() {
return "Hello Spring Boot!";
}
}
(5)運(yùn)行helloword.java中的main函數(shù),啟動(dòng)Spring Boot項(xiàng)目
我們不用在IDEA中配置tomcat服務(wù)器,只有就可以運(yùn)行main()函數(shù)。

可以看到控制臺(tái)結(jié)果如下,開(kāi)啟了一個(gè)8080端口的tomcat服務(wù)器。

(6)通過(guò)瀏覽器訪問(wèn)Spring Boot項(xiàng)目
在瀏覽器中輸入訪問(wèn)地址:localhost:8080/hello

可以看到輸出了Hello Spring Boot!,表示Spring Boot項(xiàng)目創(chuàng)建成功,并運(yùn)行起來(lái)。
是不是非常的方便,我們根本不需要做過(guò)多的配置,如SpringMVC的包掃描、視圖解析器、前端控制器等都不需要進(jìn)行配置了。
(7)Spring Boot部署非常簡(jiǎn)化
在部署的時(shí)候Spring Boot項(xiàng)目部署起來(lái)也非常方便,如果我們所在的服務(wù)器中,沒(méi)有配置tomcat之類的Servlet容器。我們可以把Spring Boot項(xiàng)目打成一個(gè)可執(zhí)行的jar包。通過(guò)java -jar 包名.jar直接運(yùn)行Spring Boot項(xiàng)目。
- 在Maven的pom.xml文件中配置打jar包插件。
spring-boot-maven-plugin插件,在很大程度上簡(jiǎn)化了應(yīng)用的部署,只需要安裝了 JRE 就可以運(yùn)行。
<!-- 將應(yīng)用打包成一個(gè)可執(zhí)行的jar包;-->
<build>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<version>1.5.4.RELEASE</version>
</plugin>
</plugins>
</build>
- 執(zhí)行Maven的打包命令

在項(xiàng)目的target目錄就能找到打包好的項(xiàng)目spring-boot-01-helloword-1.0-SNAPSHOT.jar。

-
執(zhí)行
java -jar命令啟動(dòng)項(xiàng)目我們可以把Spring Boot項(xiàng)目的jar包放到一個(gè)方便執(zhí)行的地方,來(lái)執(zhí)行命令。
- 在瀏覽器中訪問(wèn)項(xiàng)目

可見(jiàn)Spring Boot中部署一個(gè)項(xiàng)目是非常的方便。
(8)關(guān)于spring-boot-maven-plugin插件的總結(jié)
spring-boot-maven-plugin插件介紹
Spring Boot Maven plugin能夠?qū)pring Boot應(yīng)用打包為可執(zhí)行的jar或war文件,然后以java -jar命令的方式運(yùn)行Spring Boot應(yīng)用。Spring Boot Maven plugin在2017.6.8發(fā)布的1.5.4.RELEASE版本,要求Java 8, Maven 3.2及以后。(需要配置阿里云Maven鏡像倉(cāng)庫(kù))
Spring Boot Maven plugin的5個(gè)Goals(目標(biāo))
- spring-boot:repackage,默認(rèn)goal。在mvn package之后,再次打包可執(zhí)行的jar/war,同時(shí)保留mvn package生成的jar/war為.origin。
- spring-boot:run,運(yùn)行Spring Boot應(yīng)用。
- spring-boot:start,在mvn integration-test階段,進(jìn)行Spring Boot應(yīng)用生命周期的管理。
- spring-boot:stop,在mvn integration-test階段,進(jìn)行Spring Boot應(yīng)用生命周期的管理。
- spring-boot:build-info,生成Actuator使用的構(gòu)建信息文件build-info.properties。
關(guān)于Maven插件系列之spring-boot-maven-plugin的用法,可以網(wǎng)上自己搜索。
總結(jié):
spring-boot-maven-plugin插件,是一個(gè)可以把Spring Boot項(xiàng)目打成一個(gè)可以使用java -jar命令執(zhí)行的jar包,Maven中的打包命令打成的jar不能直接運(yùn)行,需要放入Servlet容器中運(yùn)行。
(9)關(guān)于spring-boot-maven-plugin插件在使用過(guò)程中遇到的問(wèn)題
在Maven中配置spring-boot-maven-plugin插件的時(shí)候遇到的問(wèn)題就是,我們直接把上邊的spring-boot-maven-plugin插件坐標(biāo)復(fù)制到pom.xml中,不能直接下載。
原因
在Maven中,plugin插件是有專屬的配置的,在沒(méi)有的配置的時(shí)候就去普通的倉(cāng)庫(kù)里面找。
我們平時(shí)使用的plugin,都是maven官方的,然而這插件不是他家的,對(duì)此阿里有一個(gè)倉(cāng)庫(kù)https://maven.aliyun.com/repository/spring-plugin可以下載。
在項(xiàng)目代碼里面,如果加上以下這段配置,就可以正常打包部署了!
<pluginRepositories>
<pluginRepository>
<id>alimaven spring plugin</id>
<name>alimaven spring plugin</name>
<url>https://maven.aliyun.com/repository/spring-plugin</url>
</pluginRepository>
</pluginRepositories>
- 為了不讓每個(gè)項(xiàng)目都如此煩所的加上上面的配置,需要在Maven的settings.xml配置代碼如下:
<profiles>
<profile>
<id>spring plugins</id>
<activation>
<jdk>spring plugins</jdk>
</activation>
<pluginRepositories>
<pluginRepository>
<id>spring plugins</id>
<name>Spring plugins</name>
<url>https://maven.aliyun.com/repository/spring-plugin</url>
<layout>default</layout>
<snapshotPolicy>always</snapshotPolicy>
</pluginRepository>
</pluginRepositories>
</profile>
</profiles>
或者簡(jiǎn)單一點(diǎn),直接配置阿里云的Maven鏡像倉(cāng)庫(kù)。
<mirror>
<id>alimaven</id>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/groups/public/</url>
<mirrorOf>central</mirrorOf>
</mirror>
參考:https://blog.csdn.net/MVP_PhoeNix/article/details/84925399
第九點(diǎn)是記錄一下,以后出現(xiàn)問(wèn)題可以做個(gè)參考。
