SpringBoot零基礎(chǔ)入門之基本操作與概念
1.什么是Spring Boot
為什么要學(xué)Spring Boot?
Spring 的誕生是為了簡(jiǎn)化 Java 程序的開發(fā)的, Spring Boot 的誕生是為了簡(jiǎn)化 Spring 程序開發(fā)的。
Spring Boot 就是 Spring 框架的腳手架,它就是為了快速開發(fā) Spring 框架誕生的。
2.Spring Boot優(yōu)點(diǎn)
- 快速集成框架,Spring Boot 提供了啟動(dòng)添加依賴的功能,用于秒級(jí)集成各種框架。
- 內(nèi)置運(yùn)行容器,無(wú)需配置 Tomcat 等 Web 容器,直接運(yùn)行和部署程序。
- 快速部署項(xiàng)目 ,無(wú)需外部容器即可啟動(dòng)并運(yùn)行項(xiàng)目。
- 可以完全拋棄繁瑣的 XML,使用注解和配置的方式進(jìn)行開發(fā)。
- 支持更多的監(jiān)控的指標(biāo),可以更好的了解項(xiàng)目的運(yùn)行情況。
3.Spring Boot 項(xiàng)目創(chuàng)建
- 使用Idea 創(chuàng)建【ide開發(fā)商提供】
- 網(wǎng)頁(yè)版創(chuàng)建方式【Spring官方提供】
3.1 使用Idea 創(chuàng)建
使用IDEA版本為2021.2.2

因?yàn)槲覀?的 Idea 社區(qū)版(其他版本也同樣適用),所以先要安裝 Spring Assistant(Spring 助手)插件才能創(chuàng)建 Spring Boot 項(xiàng)目,如下圖所示:


安裝好之后,就有了 Spring Assistant 選項(xiàng)了,如下圖所示:

3.2 Spring Boot 項(xiàng)目





點(diǎn)擊 Finish 就完成 Spring Boot 的項(xiàng)目 創(chuàng)建了。
注意事項(xiàng):
第一次打開 Spring Boot 項(xiàng) 需要加載很久,因?yàn)楫?dāng)前 Spring Boot 框架并沒有在自己的本地倉(cāng)庫(kù)。
為了加速 Spring Boot 項(xiàng)目的下載,在打開項(xiàng)目之前,請(qǐng)先確認(rèn) 的 Maven 已經(jīng)配置為國(guó)內(nèi)源
3.3 啟動(dòng)并驗(yàn)證Spring Boot項(xiàng)目有沒有創(chuàng)建成功


3.4 網(wǎng)頁(yè)版創(chuàng)建(了解)
不使用 Idea 也可以創(chuàng)建 Spring Boot 項(xiàng)目,我們可以使用 Spring 官方提供的網(wǎng)頁(yè)版來(lái)創(chuàng)建 Spring Boot 項(xiàng)目。
網(wǎng)頁(yè)版創(chuàng)建項(xiàng)目先訪問:https://start.spring.io,如下圖所示:


點(diǎn)擊生成按鈕會(huì)下載 個(gè) Spring Boot 的 zip 包,解壓 zip 之后目錄如下:

然后再使用 Idea 打開之后,Spring Boot 項(xiàng) 就算創(chuàng)建成功了,如下圖所示:

4.項(xiàng)目目錄介紹和運(yùn)用

新建的 Spring Boot 項(xiàng)目目錄如下:

Spring Boot 項(xiàng)目有兩個(gè)主要的目錄:
src/main/java 為 Java 源代碼。
src/main/resources 為靜態(tài)資源或配置文件:
/static:靜態(tài)資源文件夾;
/templates:模版資源文件夾。
4.1 項(xiàng)目運(yùn)行
點(diǎn)擊啟動(dòng)類的 main 法就可以運(yùn)行Spring Boot 項(xiàng)目了,啟動(dòng)成功如下圖所示:

4.2 輸出 Hello world
我們學(xué)習(xí) JavaEE 就是用來(lái)實(shí)現(xiàn) Web 項(xiàng)目或接口的,而之前是 Spring 其實(shí)是一個(gè)普通 Java 項(xiàng)目,沒辦法直接和瀏覽器進(jìn)行互動(dòng),所以接下來(lái)我們要用 Spring Boot 來(lái)實(shí)現(xiàn)和瀏覽器及用戶的交互。
在創(chuàng)建的項(xiàng)目包路徑下創(chuàng)建 HelloController 文件,實(shí)現(xiàn)代碼如下:
package com.example.demo;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
@Controller
@RequestMapping("/hi")//路由映射
public class HelloController {
@RequestMapping("/index")//路由映射
@ResponseBody//返回一個(gè)非靜態(tài)頁(yè)面的數(shù)據(jù)
public String sayHi(){
return "你好,Spring Boot";
}
}重新啟動(dòng)項(xiàng)目 ,訪問http://localhost:8080/hi/index,最終效果如下:

5.注意事項(xiàng)-包路徑錯(cuò)誤
我們嘗試將HelloController 移動(dòng)到其他包下, 如以下幾種方式:

運(yùn)行我們的項(xiàng) ,發(fā)現(xiàn)程序報(bào)錯(cuò)了,如下圖所示:

這說(shuō)明 Spring Boot 項(xiàng)目沒有將對(duì)象注入到容器中。
5.1 正確路徑
當(dāng)我們把要注入到容器類和啟動(dòng)類放到同級(jí)目錄下時(shí),如下圖所示:

這時(shí)候 Spring Boot 項(xiàng)目才能正常的將 bean 注入到容器中。
5.2 小結(jié)
約定大于配置
以上情況反應(yīng)了 Spring Boot 項(xiàng)目的另一個(gè)特點(diǎn):約定大于配置。
對(duì) Spring 的項(xiàng)目我們也可以看到這一特點(diǎn), 如在 Spring 中也是要配置 Bean 的掃描路徑的,Spring Boot 則不需要,Spring 配置如下:

注意事項(xiàng):
5大類注解的類一定要和啟動(dòng)類放在同一目錄或者啟動(dòng)類的子目錄中,否則將不能識(shí)別
總結(jié)
Spring Boot 是為了快速開發(fā) Spring 而 誕生的,Spring Boot 具備:
- 快速集成框架,Spring Boot 提供了啟動(dòng)添加依賴的功能,用于秒級(jí)集成各種框架。
- 內(nèi)置運(yùn)行容器,無(wú)需配置 Tomcat 等 Web 容器,直接運(yùn)行和部署程序。
- 快速部署項(xiàng)目,無(wú)需外部容器即可啟動(dòng)并運(yùn)行項(xiàng)目。
- 可以完全拋棄繁瑣的 XML,使用注解和配置的方式進(jìn)行開發(fā)。
- 支持更多的監(jiān)控的指標(biāo),可以更好的了解項(xiàng)目的運(yùn)行情況等特點(diǎn)。
Spring Boot 可使 Idea 或網(wǎng)頁(yè)創(chuàng)建,它的設(shè)計(jì)思想是約定大于配置,類上標(biāo)注 @SpringBootApplication 就可以啟動(dòng) Spring Boot 項(xiàng)目了。
到此這篇關(guān)于SpringBoot零基礎(chǔ)入門之基本操作與概念的文章就介紹到這了,更多相關(guān)SpringBoot基本操作內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
任何Bean通過(guò)實(shí)現(xiàn)ProxyableBeanAccessor接口即可獲得動(dòng)態(tài)靈活的獲取代理對(duì)象或原生對(duì)象的能力(最新推
這篇文章主要介紹了任何Bean通過(guò)實(shí)現(xiàn)ProxyableBeanAccessor接口即可獲得動(dòng)態(tài)靈活的獲取代理對(duì)象或原生對(duì)象的能力,通過(guò)示例代碼看到,借助ProxyableBeanAccessor接口默認(rèn)實(shí)現(xiàn)的getReal、getProxy、selfAs方法,很靈活的按需獲取代理或非代理對(duì)象,需要的朋友可以參考下2024-02-02
Java利用Redis實(shí)現(xiàn)消息隊(duì)列的示例代碼
本篇文章主要介紹了Java利用Redis實(shí)現(xiàn)消息隊(duì)列的示例代碼,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2017-07-07
Springboot集成SSE實(shí)現(xiàn)單工通信消息推送流程詳解
SSE簡(jiǎn)單的來(lái)說(shuō)就是服務(wù)器主動(dòng)向前端推送數(shù)據(jù)的一種技術(shù),它是單向的,也就是說(shuō)前端是不能向服務(wù)器發(fā)送數(shù)據(jù)的。SSE適用于消息推送,監(jiān)控等只需要服務(wù)器推送數(shù)據(jù)的場(chǎng)景中,下面是使用Spring Boot來(lái)實(shí)現(xiàn)一個(gè)簡(jiǎn)單的模擬向前端推動(dòng)進(jìn)度數(shù)據(jù),前端頁(yè)面接受后展示進(jìn)度條2022-11-11
淺析SpringMVC中的適配器HandlerAdapter
這篇文章主要介紹了SpringMVC中的適配器HandlerAdapter的相關(guān)資料,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-01-01
SpringCloud之@FeignClient()注解的使用詳解
@FeignClient是SpringCloud中用于聲明一個(gè)Feign客戶端的注解,用于解決模塊方法互相調(diào)用的問題,Feign是一個(gè)聲明式的WebService客戶端,通過(guò)Feign,只需要?jiǎng)?chuàng)建一個(gè)接口,并使用注解來(lái)描述請(qǐng)求,就可以直接執(zhí)行HTTP請(qǐng)求了2024-11-11

