1. 程式人生 > >Springboot(一)-----Springboot入門(各種常見問題解決)

Springboot(一)-----Springboot入門(各種常見問題解決)

本身搭建springboot專案是一個很easy的事,但親手搭建的時候,踩了很多坑,記錄一下。

一.構建一個springboot的maven專案。

訪問Spring 的網址https://start.spring.io/

填寫Artifact為專案名稱。

二.確定本地的maven配置是好的。

開啟命令列。輸入mvn -v。

如果顯示出maven 的版本號等資訊,就是成功了。

 可以看到maven 的版本號。

如果mvn -v不成功的話,會如下圖這樣顯示:-bash: mvn: command not found

這是需要重新配置安裝maven。

進入maven地址https://maven.apache.org/download.cgi下載maven。

下載完成解壓。

配置環境變數。

使用命令列: vim ~/.bash_profile

修改環境變數配置:

 export M2_HOME=/Users/kimtian/Documents/tools/apache-maven-3.6.0

 export PATH="/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:${M2_HOME}/bin

修改完成後使用命令列:source ~/.bash_profile  讓環境變數立刻生效。

再次嘗試mvn -v看是否maven成功配置安裝。

還碰到一種錯誤情況:找不到或者無法載入主類。

這是由於mac的環境變數配置有問題導致的。需要看一下 ~/.bash_profile檔案中哪裡出了問題,重新配置一下環境變數。

三.從Idea匯入springboot專案。

File-->new-->Project from Existing Sources

選擇專案。

選擇maven。然後一直Next。

專案目錄如下:

然後右鍵java,Mark Directory as-->Sources Root.

然後專案有些內容開始標紅線,由於沒有相應的springframework的jar包。原因是maven沒有成功下載拉取相應的jar。

我的主要是遇到了兩個問題。

(1)確認公司網路是否需要配置代理,如果需要,修改apache-maven-3.6.0/conf/settings.xml檔案。

否則下載的時候會一直報錯連線超時。

(2)在pom.xml中增加一行配置:

(3)確認idea中maven配置的版本和安裝版本一致。由於重新安裝了一次maven,導致版本號不一致。

報錯:

需要修改IDEA的maven配置。選擇Preferences-->maven.修改maven home directory目錄為本機maven所在位置。

修改User setting files為maven下setting.xml的位置。

 配置好後clean一下專案。我選擇的是File-->Invalidate Caches

如果專案在libraries下增加了很多jar包,專案不再報錯。表示maven已經成功拉取了相應的jar檔案。

四.編寫Controller,並啟動專案

編寫HelloWorldController.java

package com.kimtian.controller;

import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

/**
 * Helloworld Controller
 *
 * @author kimtian
 **/
@RestController
public class HelloWorldController {
    @RequestMapping("/hello")
    public String index() {
        return "Hello World";
    }
}

啟動專案,我是在命令列進入專案路徑下,輸入mvn spring-boot:run

啟動成功後,在瀏覽器輸入http://localhost:8080/hello

然後瀏覽器顯示:

谷歌了一下,原因是因為通過Application無法找到controller造成的。

將啟動類SpringbootKimtianApplication放在包結構的最上層。

如下圖:

輸入網址:http://localhost:8080/hello

可以看到頁面展示:

一個簡單的springboot web專案成功了。