iT邦幫忙

2023 iThome 鐵人賽

DAY 5
0
Software Development

我在 Spring Boot 3 裡面挖呀挖呀挖系列 第 5

Day04 - dependency management

  • 分享至 

  • xImage
  •  

Day04 - dependency management

前言

經過前面Spring Initilizer我們可以很容易的依據專案需要加載各式各樣的功能,再也不用我想要引入Spring Data JPA就去官網找個老半天,各個pom的dependency設定不用再到處找,你一定和我一樣有疑惑,到底背後的原理是什麼?今日就來探究Spring Boot是如何管理依賴的吧!

創建專案

透過Spring Initializer創建專案,我們來導入幾個常用的場景吧
https://ithelp.ithome.com.tw/upload/images/20230920/20128084TAGnN0xvEu.png

依賴管理

為什麼引入start-web相關依賴就被導入呢?

透過maven依賴傳遞原則,在spring-boot-start-web都幫你寫好web需要的一切依賴
https://ithelp.ithome.com.tw/upload/images/20230920/20128084eRVawg4mdP.png

為什麼spring-boot-starter-web不用寫版本呢

眼尖的觀眾會發現明明上面的spring-boot-web-starter沒有寫版本號,卻能引入3.1.3的版本呢,這是因為pom檔中的父項目
https://ithelp.ithome.com.tw/upload/images/20230920/201280846Do0grEc7T.png

點選spring-boot-starter-parent進一步去看
https://ithelp.ithome.com.tw/upload/images/20230920/20128084rIOg9Y5lQr.png
他還有一個父項目spring-boot-dependencies
https://ithelp.ithome.com.tw/upload/images/20230920/20128084YbAtc6189c.png
原來spring-boot-web-starter定義在這裡啊
https://ithelp.ithome.com.tw/upload/images/20230920/20128084DUnE3VXTxE.png
h2的版本設定在properties標籤中
https://ithelp.ithome.com.tw/upload/images/20230920/201280849QyOIyquqH.png

使用自訂義版本號

透過maven依賴就近原則也可以定自己的版本
https://ithelp.ithome.com.tw/upload/images/20230920/20128084q5IDeHiN6a.png

第三方jar

沒有在spring-boot-dependencies定義的就需要自己加入版本號

依賴管理架構

https://ithelp.ithome.com.tw/upload/images/20230920/20128084myCnK5OEUw.png

Reference


上一篇
Day03 - Spring Initializer
下一篇
Day05 - 自動配置機制初探
系列文
我在 Spring Boot 3 裡面挖呀挖呀挖31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言