【SpringBoot學習一】開發入門–快速創建springboot程序
- 2022 年 3 月 31 日
- 筆記
- JAVA, springboot, 學習
前言
本片博客記錄快速創建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類,然後訪問”//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文件夾下,建立這樣的結構
頁面裏面寫什麼無所謂。
然後我們重新啟動項目,通過訪問”//localhost:8080/hello” 和”//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";
}
}
最後運行程序,訪問”//localhost:8080/hello” ,成功;