2.1、創建Maven工程 2.1.1、創建空項目 2.1.2、設置項目名稱和路徑 2.1.3、設置項目sdk 2.1.4、項目初始狀態 註意:需要關閉項目再重新打開,才能看到SpringBoot-Part文件夾 2.1.5、配置maven 2.1.6、創建module 右擊SpringBoot-P ...
2.1、創建Maven工程
2.1.1、創建空項目
2.1.2、設置項目名稱和路徑
2.1.3、設置項目sdk
2.1.4、項目初始狀態
註意:需要關閉項目再重新打開,才能看到SpringBoot-Part文件夾
2.1.5、配置maven
2.1.6、創建module
右擊SpringBoot-Part文件夾,創建新module
選擇maven
配置module名稱和路徑
module初始狀態
3、引入依賴
3.1、添加父工程
<!--
Spring Boot提供了一個名為spring-boot-starter-parent的工程;
該工程對各種常用依賴的版本進行了管理;
只需要以該工程為父工程,就不用再操心依賴的版本問題了;
以後需要用到什麼依賴,直接引入坐標(不需要添加版本)即可。
-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.7.18</version>
</parent>
3.2、添加web啟動器
<dependencies>
<!--
為了讓Spring Boot完成各種自動配置,必須引入Spring Boot提供的自動配置依賴,稱為啟動器;
因為是web項目,所以這裡引入web啟動器。
-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
</dependencies>
4、創建啟動類
package online.liaojy;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
/**
* @author liaojy
* @date 2023/12/10 - 21:01
*/
// @SpringBootApplication 註解標識的類,為Spring Boot應用程式的啟動類
@SpringBootApplication
public class MainApplication {
public static void main(String[] args) {
/*
* 該方法是啟動 Spring Boot 應用程式的關鍵步驟,
* 它會創建應用程式上下文、創建ioc容器、自動配置及啟動應用程式(web項目會啟動內置的Tomcat),並處理命令行參數。
* */
SpringApplication.run(MainApplication.class,args);
}
}
5、創建控制器
在SpringBoot啟動類所在的包以及子包下,IOC和DI的註解會被自動掃描並生效,約定俗成、無需額外的配置指定。
package online.liaojy.controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;
/**
* @author liaojy
* @date 2023/12/10 - 21:22
*/
@RestController
public class HelloController {
@RequestMapping("/hello")
public String hello(){
return "hello,springboot2!";
}
}
6、測試效果
啟動springboot工程
註意:通過控制台的日誌可知,預設使用了8080埠,內置了Tomcat9,上下文沒有內容(也即是/)
訪問對應的控制器方法,成功返回的正確響應內容。
7、案例總結
7.1、父工程
-
每個 springboot 工程都有一個父工程 spring-boot-starter-parent ;
-
spring-boot-starter-parent 的父工程是 spring-boot-dependencies
-
spring-boot-dependencies 工程是版本仲裁中心,把所有常見的jar的依賴版本都聲明好了,而且不存在版本衝突,
所以 springboot 工程中的依賴不需要寫版本。
7.2、starter啟動器
-
雖然 Maven 有依賴傳遞的功能,但是只能根據 jar 包之間的引用關係來關聯依賴,不能根據開發場景來關聯相關依賴,
-
因此 Spring Boot 提供了一種叫做 Starter 的概念,用於關聯和管理具體業務場景的相關依賴和配置;
-
Starter 包含了一組預定義的依賴項集合,並提供了一致的依賴項版本管理,確保依賴項之間的相容性和穩定性;
-
Starter 遵循“約定大於配置”的原則,通過預設的設置來自動配置所需的組件和功能,讓開發者更專註於業務邏輯而不是繁瑣的配置細節;
-
除了 Spring Boot 會提供一系列預定義的 Starter 之外,第三方(包括我們自己)也可以自定義 Starter ;
-
官方提供的 Starter 的命名格式:spring-boot-starter-* ,第三方提供的 Starter 的命名格式:*-spring-boot-starter 。
SpringBoot 官方提供的 Starter 的文檔地址:
https://docs.spring.io/spring-boot/docs/2.7.18/reference/html/using.html#using.build-systems.starters
7.3、@SpringBootApplication註解
-
添加在啟動類上的 @SpringBootApplication 註解,實際上是一個組合註解,其作用由具體的子註解來實現;
-
@SpringBootApplication 註解的關鍵子註解包括:@ComponentScan、@EnableAutoConfiguration、@SpringBootConfiguration ;
-
@SpringBootConfiguration 子註解本身也是一個組合註解,它包含了 @Configuration 註解,作用是將被標識的類聲明為配置類;
-
@EnableAutoConfiguration 子註解的作用是自動載入其他配置類,並會根據依賴項和類路徑,自動配置各種常見的Spring配置和功能;
-
@ComponentScan 子註解的作用是掃描所在類的包及其子包中的組件,並載入進Ioc容器中,使它們可被自動註入和使用。
本文來自博客園,作者:Javaer1995,轉載請註明原文鏈接:https://www.cnblogs.com/Javaer1995/p/17893029.html