筆者在學校裡學習Spring專案的時候,基本上都是老師照著書念PPT,然後演示一些有限的課堂案例,筆者印象很深刻,學校裡整個Spring專案也就做了6個課堂練習,而且難度基本上屬於連線上資料庫就算成功,現在看來很簡單的事情,不知道當初為啥搞得這麼辛苦
不怕大家笑話,雖然筆者在學校裡的成績尚可,但是筆者直到拿到學位證書的時候,還說不清楚maven依賴是什麼,在工作的時候才逐漸瞭解很多內容,後來必須反覆思考到底出了啥問題
所謂黑貓白貓,抓到耗子就是好貓,因此筆者翻了好些教科書,又找了好些培訓班網課,結合筆者在科班的經歷,後來發現了他們的優缺點在哪
教科書/科班上課
培訓班上課/網課
後來筆者在工作以後瞭解到了若依,筆者很佩服該專案的作者,擁有很高超的技術
後來經過筆者的總結,想出了一個理論結合實際的看起來有點蠢的辦法,這個方法在其他專案合集中也會使用,當然估計很多書裡其實也用過了
那就是筆者同樣會在該系列做一個專案,當然和若依比起來就差遠了,隨著系列往後,內容也會逐漸完整,我們伴隨著專案完整性的升高逐漸輻射所有的知識點,在做專案的時候給和大家討論技術的完整性,當然有些技術可能不太可能或者不太適合在同一個專案中同時出現,例如不可能又使用Hibernate,又使用Mybatis,這方面沒有關係,我們配合版本管理神器【Git】,程式碼可以多版本,也可以回退
這裡做一個補充說明,有些同學可能對筆者用的IDE比較陌生,這裡說一下筆者用的是IDEA 2023.1.1【官網最新版本】破解版
而且對UI做了更新
下載網站:https://www.exception.site/
更新UI,另外筆者安裝了中文外掛,筆者習慣了中文,因此請同學們自行適應語言
使用IntelliJ IDEA建立一個Spring Boot應用程式的步驟如下:
在選擇「Spring Initializr」選項時,需要選擇「Maven」或「Gradle」構建工具型別。
這取決於你想使用哪種構建工具來管理你的專案。
如果你選擇使用Maven,那麼在下一步中將會看到Maven專案設定選項。同樣的,如果你選擇使用Gradle,那麼在下一步中將會看到Gradle專案設定選項。
在選擇構建工具型別後,點選「Next」按鈕即可繼續建立Spring Boot應用程式。
建立完Spring Boot專案後,需要新增一些必要的依賴。以下是一些常用的依賴:
要新增這些依賴,可以直接在pom.xml檔案中新增。例如,要新增spring-boot-starter-web和spring-boot-starter-data-jpa依賴,可以在pom.xml檔案中加入以下內容:
<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
</dependencies>
完成這些步驟後,可以開始編寫Spring Boot應用程式了。
Spring Boot的專案結構通常遵循標準的Maven或Gradle專案結構,並遵循約定優於設定的原則。下面是一個常見的Spring Boot專案結構的範例:
1. src/main/java:這個目錄下包含了應用程式的Java原始碼檔案。
- com.example.myproject:這是預設的主包名(package)。
- controller:包含控制器(Controller)類,用於處理HTTP請求。
- service:包含服務(Service)類,用於處理業務邏輯。
- repository:包含儲存庫(Repository)類,用於存取資料儲存。
- model:包含資料模型(Model)類,用於表示應用程式中的實體和資料物件。
- Application.java:包含主啟動類,其中的main方法用於啟動Spring Boot應用程式。
2. src/main/resources:這個目錄下包含了應用程式的資原始檔。
- application.properties/application.yml:包含應用程式的設定屬性,如資料庫連線、紀錄檔級別等。
- static:包含應用程式的靜態資原始檔,如html、css、js等。
- templates:包含應用程式的模板檔案,如Thymeleaf模板。
3. src/test/java:這個目錄下包含了應用程式的測試程式碼檔案,通常與src/main/java下的包結構相同。
4. src/test/resources:這個目錄下包含了應用程式的測試資原始檔。
5. pom.xml/gradle.build:這個檔案是用來定義專案的依賴和構建設定的。
6. target:這個目錄是構建過程中生成的輸出目錄,包含編譯後的類檔案、打包後的可執行jar檔案等。
這只是一個典型的Spring Boot專案結構範例,實際上可以根據需要進行調整和客製化。例如,可以將不同的功能模組放在不同的包下,或者將測試程式碼和資原始檔放在不同的目錄下等。
PS:第一次安裝依賴專案可能會非常慢,請大家耐心等待
在SpringBoot專案中,依賴是指專案所依賴的其他軟體包或模組。這些依賴通常以Maven或Gradle的形式在專案的構建檔案(如pom.xml或build.gradle)中宣告。依賴可以是其他Java庫、框架或工具,也可以是資料庫驅動程式、Web伺服器等。
SpringBoot專案中的依賴通常分為兩種型別:傳遞性依賴和直接依賴。
通過定義適當的依賴,可以讓SpringBoot專案自動載入所需的庫和設定,並提供必要的功能和特性,簡化了專案的設定和部署過程。
Maven是一個開源的專案管理工具,用於構建、管理和釋出Java專案。它提供了一種簡潔的方式來定義和管理專案的依賴關係,自動下載所需的依賴項,並支援專案的編譯、測試、打包和部署。
Maven基於專案物件模型(Project Object Model,POM)的概念,通過一個XML檔案來描述專案的結構和依賴關係。POM檔案包含專案的設定資訊,如專案的座標(groupId、artifactId和version)、依賴項、外掛等。Maven通過讀取POM檔案來了解專案的設定,然後執行相應的操作。
Maven主要具有以下功能:
通過使用Maven,開發者可以更方便地管理和構建Java專案,提高開發效率和程式碼質量。它還促進了專案之間的共同作業和複用,可以輕鬆地共用和重用已經構建好的庫和元件。由於Maven的廣泛應用,許多開源專案都使用Maven作為其專案管理工具。
1. 前往https://maven.apache.org/download.cgi下載最新版的Maven程式:
2. 將檔案解壓到D:\Program Files\Apache\maven目錄下:
3. 新建環境變數MAVEN_HOME,賦值D:\Program Files\Apache\maven
4. 編輯環境變數Path,追加%MAVEN_HOME%\bin\;
5. 至此,maven已經完成了安裝,我們可以通過DOS命令檢查一下我們是否安裝成功:
mvn -v
在設定中搜尋Maven,然後把maven路徑給設定上去,路徑儘量用英文
package com.example.springlearning;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class SpringLearningApplication {
public static void main(String[] args) {
SpringApplication.run(SpringLearningApplication.class, args);
System.out.println("Hello World!");
}
}
這段程式碼是一個Spring Boot應用程式的入口類,它使用了@SpringBootApplication註解,表示該類是一個Spring Boot應用程式的主類。@SpringBootApplication註解相當於使用了@Configuration、@EnableAutoConfiguration和@ComponentScan三個註解。
其中,@Configuration註解表示該類是一個設定類,@EnableAutoConfiguration註解表示啟用自動設定,@ComponentScan註解表示自動掃描元件。
該類的main方法是程式的入口點,通過呼叫SpringApplication.run方法來執行Spring Boot應用程式。同時,在main方法中輸出了"Hello World!"。
@SpringBootApplication是一個Spring Boot的註解,它結合了@Configuration、@EnableAutoConfiguration和@ComponentScan三個註解的功能。
@Configuration註解表示這是一個設定類,它等價於將該類作為Spring組態檔中的一個<bean>設定。
@EnableAutoConfiguration註解表示開啟自動設定功能,它會根據新增的依賴自動設定Spring的各種功能。
@ComponentScan註解表示自動掃描並載入符合條件的元件(比如@Service、@Repository、@Component等),並自動註冊為Spring管理的Bean。
綜合起來,@SpringBootApplication註解可以簡化Spring Boot應用的設定,使得開發者只需要關注核心業務邏輯,而不需要手動設定許多繁瑣的東西。