spring core的方式來寫代碼還是比較繁瑣的,而spring boot就是幫助程序員使用spring開發的一個腳手架(boot),它是一個用于構建Java應用程序的開源框架,旨在簡化開發流程并提高生產效率。它的主要優點有:
-
快速啟動和開發:Spring Boot提供了一系列的起始依賴和自動配置,使得你可以迅速搭建項目結構和基本配置,從而加快開發速度。你可以專注于業務邏輯,而不必花費太多時間在繁瑣的配置上。
-
微服務架構支持:Spring Boot在微服務架構中得到廣泛應用。它支持構建獨立的、輕量級的微服務,每個微服務可以有自己的Spring Boot應用,這樣可以更好地實現服務拆分和部署。
-
自動配置:Spring Boot基于約定大于配置的原則,提供了許多默認的自動配置選項,可以減少手動配置的工作量。這樣,你可以避免常見的配置錯誤,專注于核心業務邏輯。
-
內嵌式Web容器:Spring Boot默認內嵌了多種Web容器(如Tomcat、Jetty等),使得你可以輕松地創建可獨立運行的Web應用,而不需要額外安裝或配置外部容器。
-
強大的生態系統:Spring Boot建立在Spring Framework的基礎上,繼承了Spring的優秀生態系統。你可以輕松地集成其他Spring項目(如Spring Data、Spring Security等),從而實現全面的功能。
1.Spring Boot項目創建(使用IDEA)
1.1如果使用的是社區版還需要安裝一個下圖中的插件:
開始創建項目之前先看一下自己的Maven國內源是否配置。(具體可以看我前面的博客)
?國內 Settings.xml 的配置信息如下:
<settings xmlns="http://maven.apache.org/SETTINGS/1.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/SETTINGS/1.0.0 http://maven.apache.org/xsd/settings-1.0.0.xsd">
<mirrors>
<!-- 阿里云倉庫 -->
<mirror>
<id>alimaven</id>
<mirrorOf>central</mirrorOf>
<name>aliyun maven</name>
<url>http://maven.aliyun.com/nexus/content/repositories/central/</url>
</mirror>
<!-- 中央倉庫1 -->
<mirror>
<id>repo1</id>
<mirrorOf>central</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://repo1.maven.org/maven2/</url>
</mirror>
<!-- 中央倉庫2 -->
<mirror>
<id>repo2</id>
<mirrorOf>central</mirrorOf>
<name>Human Readable Name for this Mirror.</name>
<url>http://repo2.maven.org/maven2/</url>
</mirror>
</mirrors>
</settings>
?1.2 創建Spring Boot項目
?點擊 Finish 就完成 Spring Boot 的項?創建了。第?次打開 Spring Boot 項?需要加載很久,因為當前 Spring Boot 框架并沒有在??的本地倉庫。如果一直加載失敗那就是國內源沒有配置好,可以再次檢查一下。
2.Spring Boot項目創建(網頁版)

?然后點擊GENERATE就會下載一個本地的包,解壓后:
會發現和自己在IDEA創建的目錄是一致的,然后直接用IDEA打開就好了。
3.目錄介紹和運行
?
?點擊啟動類的 main ?法就可以運? Spring Boot 項?了,或者點擊右上角的運行,啟動成功如下圖所示:
輸出Hello World

package com.example.demo.controller;import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;@RestController
@RequestMapping("/user")
public class UserController {@RequestMapping("/sayhi")public String sayHi(){return "Hi,Spring Boot.";}
}
?4.約定大于配置
如果我們將controller包放在和啟動類所在的包同級的情況下:
?啟動項目后,會發現程序報錯了
?
?這說明 Spring Boot 項?沒有將對象注?到容器中。
那為什么一開始的時候將controller和啟動類放在同一級就可以呢?因為springboot約定大于配置:
-
約定大于配置:Spring Boot遵循約定大于配置的原則,它預設了一系列的默認配置,包括組件掃描路徑。這意味著你不需要手動配置掃描路徑,因為Spring Boot已經默認為你設置了合適的掃描路徑。
-
自動配置:Spring Boot自動根據類路徑上的依賴來進行配置,包括組件掃描。它會自動掃描項目中的各種組件(比如控制器、服務、存儲庫等),然后將它們實例化并添加到Spring應用上下文中。
-
約定位置:Spring Boot提倡使用一些約定的位置來組織代碼,例如將主應用程序類放在根包下,這樣它可以自動掃描該包及其子包下的組件。這種約定可以避免顯式配置掃描路徑。