前言
本片部落格記錄快速建立springboot工程的兩種方式。一種是使用maven建立,一種是使用spring initializr建立。開發環境JDK1.8、IDEA、maven。
SpringBoot 優點
- 可快速構建spring應用
- 直接嵌入tomcat、jetty、undenrtow伺服器(無須部署war檔案)
- 提供依賴啟動器(starter)簡化構建配置
- 極大程度的自動化配置Spring和第三方庫
- 提供生產就緒功能,例如指標監控檢測、外部檢測
- 極少程式碼生成和XML配置
使用maven建立Spring Boot專案
第一步:
首先在左上角的file->new->project(如果是新安裝的IDEA需要配置maven倉庫,當然idea自己也會幫你配置,但是好像在C盤,並且可能會出現一些錯誤提示問題,如果不介意然可以使用,但是還是建議使用自己的maven倉庫建立,直接點選new project),然後出現下面圖片顯示,選擇maven專案,點選next。到下一個介面。
第二步:
這個介面的name就是你的專案名,location就是你專案的地址路徑,groupid一般是你網址域名倒著寫,例如com.hjk.www那反過來就是www.hjk.com,這一般是公司定義的,我們可以自己命名。
第三步:
然後我們找到pom.xml檔案,在裡面新增兩個依賴,新增依賴你的maven倉庫如果沒有這個包是會報錯的,然後我們點選一個類似重新整理的圖示idea就會載入相關的包了,我們等它載入完,第一次載入應該會等很長時間,我們耐心等待一下。如果在載入完成之後你的parent的那個依賴會爆紅,可能是應為你的倉庫是idea的預設C盤那個倉庫,建議換成自己的。這個報錯的原因好像是那個倉庫下載的是基礎包,沒有這個parent的包!
第四步:
最後我們檢視一下我們所匯入的包都有什麼,點選右邊的maven->dependencies檢視
第五步:
我們建立一個主程式啟動類
我們在學mvc是常常都是有幾個包(dao、service、controller)我們在寫springboot專案時也是差不多的,這裡我們在dao包的同級目錄下建立一個主程式類。
程式碼:
package com.hjk;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class springbootParent {
public static void main(String[] args) {
SpringApplication.run(springbootParent.class,args);
}
}
最後我們建立一個controller測試一下
在controller包裡面建立一個HelloController類
package com.hjk.controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class HelloController {
@GetMapping("/hello")
public String hello(){
return "hello SpringBoot";
}
}
執行springbootParent類,然後訪問"http://localhost:8080/hello" 然後就能在這個介面看到字串輸出了。
與html聯絡
我們怎麼通過controller去訪問html介面呢,
首先我們把thymeleaf依賴匯入pom.xml
<dependency>
<groupId>org.thymeleaf</groupId>
<artifactId>thymeleaf-spring5</artifactId>
</dependency>
<dependency>
<groupId>org.thymeleaf.extras</groupId>
<artifactId>thymeleaf-extras-java8time</artifactId>
</dependency>
然後我們把HelloController改一下。因為上面我們用的是@RestController註解,返回的是一個json字串,不會被spring解析,那是適用於傳資料使用,我們需要使用@Controller註解進行頁面的跳轉。
package com.hjk.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
@Controller
public class HelloController {
@GetMapping("/hello")
public String hello(){
return "hello";
}
@RequestMapping("/a")
public String index(){
return "index";
}
}
然後再resources資料夾下,建立這樣的結構
頁面裡面寫什麼無所謂。
然後我們重新啟動專案,通過訪問"http://localhost:8080/hello" 和"http://localhost:8080/a“ 可以跳轉到頁面。我們可以看到,註解裡面寫的是url路徑,return後面的是需要跳轉的頁面名。
解釋點
註解 | 解釋 |
---|---|
@Controller | 把使用者提交來的請求通過對URL的匹配,分配個不同的接收器,再進行處理,然後向使用者返回結果 |
@ResponseBody | 將方法返回值繫結到 Web 響應主體 |
@RestController | @ResponseBody和@Controller組合註解,用於返回JSON字串 |
@RequestMapping | 用來處理請求地址對映的註解 |
@GetMapping | 等價於@RequestMapping(value = "",method = RequestMethod.GET)就是使用Get方法提交 |
使用Spring initializr快速建立
使用maven建立還是比較麻煩的,我們使用Spring initiallizr建立。
第一步:
右上角file->new->project-->spring initializr->next,這種方式1是在聯網情況下建立的,defaule就是springboot的預設網址。
第二步:
點選完next之後可以看到這個介面有Group組名,Artifact專案名。java version java版本,description專案描述,package包名。然後點選next
第三步:
在這個介面我們可以選擇springboot版本,和直接加入依賴,我們在這裡直接加入web依賴spring web和Template的Thymeleaf依賴,點上對勾後可以在最右邊裡看到你選擇的依賴。然後點選next。
第四步:
之前設定完了,在這裡可以直接點選finish,這樣就建立了一個sprigboot專案。
我們可以看到我們的專案結構,很多springboot都幫我們建立了。
最後
我們和上面一樣,建立HelloController類,並且在templates裡面建立一個hello.html檔案。
HelloController程式碼
package com.hjk.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
@Controller
public class HelloController {
@GetMapping("/hello")
public String hello(){
return "hello";
}
}
最後執行程式,訪問"http://localhost:8080/hello" ,成功;