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.reibang.com/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è)參考。