SpringBoot基本介紹 1.SpringBoot是什麼? 官網地址:https://spring.io/projects/spring-boot 學習文檔:https://docs.spring.io/spring-boot/docs/2.7.10-SNAPSHOT/reference 線上A ...
SpringBoot基本介紹
1.SpringBoot是什麼?
官網地址:https://spring.io/projects/spring-boot
學習文檔:https://docs.spring.io/spring-boot/docs/2.7.10-SNAPSHOT/reference
線上API:https://docs.spring.io/spring-boot/docs/2.7.10-SNAPSHOT/api/
- SpringBoot可以輕鬆創建獨立的,生產級的,基於Spring的應用程式
- SpringBoot直接嵌入Tomcat,Jetty或Undertow,可以“直接運行”SpringBoot應用程式
2.SpringBoot快速入門
需求分析:構建一個SpringBoot項目,瀏覽器發送請求,項目響應。
(1)確認開發環境是jdk8以上,maven在3.5+
(2)創建maven項目:File-->New-->Project-->Maven
(3)在項目的pom.xml文件中引入SpringBoot父工程和web項目場景啟動器
<!--導入SpringBoot父工程-規定寫法-->
<parent>
<artifactId>spring-boot-starter-parent</artifactId>
<groupId>org.springframework.boot</groupId>
<version>2.5.3</version>
</parent>
<!--導入web項目場景啟動器:會自動導入和web開發相關的所有依賴[jar包]-->
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
(4)在src/main/java/com/li/springboot目錄下創建一個MainApp類
package com.li.springboot;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
* @author 李
* @version 1.0
* @SpringBootApplication 註解用來標識這是一個SpringBoot應用項目
*/
@SpringBootApplication
public class MainApp {
public static void main(String[] args) {
//啟動SpringBoot應用程式/項目
SpringApplication.run(MainApp.class, args);
}
}
(5)src/main/java/com/li/springboot/controller目錄下創建控制器HelloController
package com.li.springboot.controller;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.ResponseBody;
/**
* @author 李
* @version 1.0
*/
@Controller
public class HelloController {
//寫一個方法,返回提示
@RequestMapping("/hello")
@ResponseBody
public String hello() {
return "Hello,SpringBoot!";
}
}
(6)點擊運行MainApp.java的main方法
(7)在瀏覽器成功訪問到映射的url
2.1快速入門小結
-
SpringBoot相比於傳統的SSM開發,簡化了大量的整合步驟,提高了開發效率
-
簡化了Maven項目的pom.xml依賴導入,可以說是一鍵導入
-
引入一個spring-boot-starter-web,到底發生了什麼?
下麵是項目maven管理的依賴關係圖:
3.Spring、SpringMVC、SpringBoot的關係
- 三者之間的關係:SpringBoot > Spring > Spring MVC
- SpringMVC 只是 Spring 處理 WEB 層請求的一個模塊/組件,SpringMVC 的基石是 Servlet
- Spring 的核心是 IOC 和 AOP,IOC 提供了依賴註入的容器,AOP 解決了面向切麵編程
- SpringBoot 是為了簡化開發推出的框架(約定優於配置[COC],簡化了 Spring 項目的配置流程),SpringBoot 包含很多組件/框架,Spring 就是最核心的內容之一,也包含 SpringMVC
- Spring 家族,有眾多的衍生框架和組件如 boot,security,jpa 等,它們的基石都是 Spring
3.1如何理解約定優於配置?
-
約定優於配置(Convention over Configuration,COC),又稱按約定編程,是一種軟體設計規範,本質上是對系統、類庫或框架中一些東西假定一個大眾化、合理化的預設值(預設值)
-
例如在模型中存在一個名為User的類,那麼對應到資料庫會存在一個名為user的表,只有在偏離這個約定時才需要做相關的配置(例如你想將表命名為t_user而非user時才需要寫關於此名字的配置)
-
簡單地說就是,假如你所期待的配置與約定的配置一致,那麼就可以不做任何配置,約定不符合期待時,才需要對約定進行替換配置
-
註意,約定優於配置的意思不是約定的優先順序高於配置的優先順序!
-
-
為什麼搞一個約定優於配置理念?
約定其實就是一種規範,遵循了規範,那麼就存在通用性,存在通用性,事情就會變得相對簡單,程式員之間的溝通成本會降低,工作效率會提升,合作也會變得更加簡單。