SpringBoot 第一篇:入門篇
前言
??博主從去年開始,項目中使用的框架逐漸被 SpringBoot 取代。今年獨立負責的兩個項目也都是用 SpringBoot ,看過不少資料、博客。網上的資源,內容有長有短,參差不齊。有的內容甚至存在誤導性,誤導讀者從另一個坑跳進另一個坑。另外,在項目中使用的 SpringBoot 的功能比較零散。
??基於此,想系統整理其相關的知識點以及項目中踩得坑,並記錄。一是作為自己的一個成長筆記,一是提醒後來的新人繞過已經踩過的坑。
??此為本系列博客的寫作初心。
概念
??Spring Boot是由Pivotal團隊提供的全新框架,其設計目的是用來簡化新Spring應用的初始搭建以及開發過程。該框架使用了特定的方式來進行配置,從而使開發人員不再需要定義樣板化的配置。
??springboot 不是一門新技術。它是一個簡化Spring應用開發的一個框架,整個Spring技術棧的一個大整合,更提供了J2EE開發的一站式解決方案。
??博主更願意把它理解為一個技術平臺(不知道這樣理解是否合適,歡迎大佬拍磚),幾乎把所有的Java主流技術都整合進去,讓開發者“隨用隨取”,不會陷入到繁雜的配置文件中無法自拔。
優點
自動化配置(springboot的核心特性);
簡化spring的配置,無需xml配置文件;
內嵌了Tomcat、Jetty等容器;
直接運行jar包;
......
核心
spring 應用程序開發中,有四個核心:
- 自動配置:針對很多Spring應用程序常見的應用功能,Spring Boot能自動提供相關配置
- 起步依賴:告訴Spring Boot需要什麽功能,它就能引入需要的庫。
- 命令行界面:這是Spring Boot的可選特性,借此你只需寫代碼就能完成完整的應用程序,無需傳統項目構建。
- Actuator:讓你能夠深入運行中的Spring Boot應用程序,一套究竟。
由於篇幅所限,此處先接觸一下基本概念,不做深入講解。後續會一一展開。
快速構建項目
maven構建項目
- 進入SpringBoot 項目構建網站 https://start.spring.io/ (如下);
- 選擇對應的工具、語言、版本、相關信息、依賴等,按住
alt
+Enter
下載,然後解壓,導入IDE。
IDEA 構建項目
??個人推薦使用 idea 構建, 方便,簡潔,“傻瓜式”構建,直接 下一步
即可。感興趣的可以參照之前的博客:https://www.cnblogs.com/yanfei1819/p/7798499.html
項目結構說明
如上圖所示,Spring Boot項目的基礎結構共三個文件:
- src/main/java 程序開發以及主程序入口
- src/main/resources 配置文件
- src/test/java 測試程序
- DemoApplication 類是程序入口
- application.properties 是程序配置文件
在引入web模塊後,src/main/resources/static 是靜態資源文件放置路徑;src/main/resources/template 是使用模板引擎時放置的 .html
靜態頁面。還有其他的一些路徑,後續會一一闡述。
程序啟動
??程序員的入門課一般都是 Hello Word!
,下面我們演示 SpringBoot 版的 Hello Word!
。
創建controller層:
package com.yanfei1819.demo.web.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.ResponseBody;
/**
* Created by 追夢1819 on 2019-05-06.
*/
@Controller
public class HelloWordController {
@ResponseBody
@GetMapping("/helloWord") // <===> @RequestMapping(value = "/helloWord",method = RequestMethod.POST)
public String helloWord(){
return "Hello Word,SpringBoot!";
}
}
註意兩點:
@GetMapping("/helloWord")
等價於@RequestMapping(value = "/helloWord",method = RequestMethod.POST)
;- 加上
@ResponseBody
後,返回結果不會被解析為跳轉路徑,而是直接寫入返回值中。如果不加,則會解析為跳轉路徑; - 程序默認的端口號是 8080,可以通過 application.properties 配置文件的
server.port=
進行修改。
以上程序通過 postman 測試結果是:
總結
??SpringBoot 涉及的內容很多,如果沒有一個系統的主線去學習,會感覺很零散。以上內容作為本系列博客的入門篇。後續會將 SpringBoot 的功能點一一展開。
SpringBoot 第一篇:入門篇