前言
因爲放了寒假,時間挺長的。然後想利用這段放假的時間把自己的個人博客網站搭建起來。之前學了ssm
框架,然後使用javaweb
+ssm
也寫了兩個比較小的項目。這次想試試大項目,把自己的博客搭的完完整整。然後考慮到這個項目我可能會終生維護。於是不再使用javaweb
+ ssm
。而是使用maven
搭建sm
(spring boot + mybatis)框架來完成。但是我沒有系統的學過maven
和spring boot
。於是我想考着ssm
的基礎。邊學邊做。於是就有了這篇博客。從0使用maven
搭建spring boot2.x
項目。爲什麼從0呢?因爲使用idea的話,很容易就創建出一個什麼都配好的項目。但是對於學習而言,並不友好。所以,應該從創建maven
項目開始,然後一個一個的配置然後加入maven依賴
。
使用maven創建一個web項目
當你看到這裏,你必須安裝了maven
並且配置完成了環境變量。然後瞭解過maven
的基本命令。
首先使用maven
的模板創建一個web項目。使用mvn archetype:generate
命令。
然後會等待你輸入。這裏選擇10,然後輸入自己的項目組名,項目名版本號等等。(第一個要選10表示web項目,然後後面的下您要更改就輸入,可以直接回車)。
輸入完成之後項目就會構建成功了。
構建成功之後然後切換當前工作目錄到你的項目根目錄下。(也就是含有pom.xml的目錄)。
添加spring boot
相關依賴
這時maven
項目已經構建完成並且準備就緒。然後就是導入spring boot
的相關依賴。
將如下代碼添加到pom.xml中。
引入spring-boot的相關依賴文件 ,這個是最基本的包,裏面包含了運行的相關組件,例如tomcat,以及其他的jar包。
<parent>
<!-- spring boot 的父依賴-->
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.2.RELEASE</version>
<relativePath /> <!-- lookup parent from repository -->
</parent>
接下來這個依賴。
這樣就能啓動一個spring-boot的web項目,其中內嵌了相關的tomcat服務器
<!-- spring boot for web的核心依賴-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
接下來添加maven對spring的支持的插件。
<build>
<finalName>test</finalName>
<plugins>
<!--spring的maven管理插件-->
<!-- 打包可執行jar包 -->
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
<!-- 經過測試,當不使用spring-boot-starter-parent作爲父依賴的時候,
下面的executions必須要配置纔可以在cmd中使用java -jar運行 -->
<executions>
<execution>
<goals>
<goal>repackage</goal>
</goals>
</execution>
</executions>
</plugin>
</plugins>
</build>
spring boot
項目結構
在spring boot項目中有如下幾個注意項(算是規範吧)。
.java
文件都要放在main/java
文件夾下- 啓動類最好是不要直接放在默認包下(也就是
main/java
),應該放在如:main/java/com/
下 html
等靜態資源要放在resources/static
下spring boot
的配置文件要放在resources
根目錄
依賴導入後,接下來將web項目的目錄結構進行修改。添加幾個目錄:main\resources\static
、main\java
。一個是存放html
等前端頁面的位置,一個是存放java
代碼的位置。標準的spring boot項目
是沒有webapp
目錄的,可以刪除掉。
修改後的目錄結構具體如下。
配置spring boot
項目訪問端口
其中main\application.properties
是spring boot
的配置文件,用來配置spring boot
的啓動參數等。如:給application.properties
配置啓動後訪問的端口號爲80
。
TestApplication.java
是spring boot
的啓動類,spring boot
項目的入口。
package com.test;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class TestApplication {
public static void main(String[] args) {
SpringApplication.run(TestApplication.class, args);
}
}
index.html
是我新建的html
文件,內容如下。
啓動spring boot
使用vs code
啓動spring boot
接下 點擊run
啓動spring boot
。
當然這裏直接點run能啓動是因爲下載了VSCode
的spring boot
插件。
然後spring boot
就能直接啓動了。
因爲插件內部其實配置了什麼我們也不清楚。所以爲了不使用陌生的東西,也可以使用maven clean install
命令將spring boot項目打包出war
來,然後放在tomcat下再運行tomcat。也可以打包出jar
然後直接使用java -jar
命令運行。考慮方便性,和spring boot的獨立性,這裏就打出jar
包來然後運行。
使用java -jar
運行spring boot
首先添加pom.xml
配置打包爲jar
。
<packaging>jar</packaging>
然後使用mvn install
命令將項目打包。
打包完成會在target
文件夾下發現一個.jar
文件。這個文件就是我們需要的可執行文件。
最後使用powershell
切換到target
文件夾中然後使用java -jar
命令執行。就會看到如下效果:
最後在瀏覽器中訪問。