<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
在Spring Boot入門程式中,專案pom.xml檔案有兩個核心依賴,分別是spring-boot-starterparent和spring-boot-starter-web,關於這兩個依賴的相關介紹具體如下:
在chapter01專案中的pom.xml檔案中找到spring-boot-starter-parent依賴,範例程式碼如下:
<!-- Spring Boot父專案依賴管理 --> <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent<11./artifactId> <version>2.2.2.RELEASE</version> <relativePath/> <!-- lookup parent from repository --> </parent>
上述程式碼中,將spring-boot-starter-parent依賴作為Spring Boot專案的統一父專案依賴管理,並將專案版本號統一為2.2.2.RELEASE,該版本號根據實際開發需求是可以修改的。
使用“Ctrl+滑鼠左鍵”進入並檢視spring-boot-starter-parent底層原始檔,發現spring-bootstarter-parent的底層有一個父依賴spring-boot-dependencies,核心程式碼具體如下
<parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-dependencies</artifactId> <version>2.2.2.RELEASE</version> <relativePath>../../spring-boot-dependencies</relativePath> </parent>
繼續檢視spring-boot-dependencies底層原始檔,核心程式碼具體如下:
<properties> <activemq.version>5.15.11</activemq.version> ... <solr.version>8.2.0</solr.version> <mysql.version>8.0.18</mysql.version> <kafka.version>2.3.1</kafka.version> <spring-amqp.version>2.2.2.RELEASE</spring-amqp.version> <spring-restdocs.version>2.0.4.RELEASE</spring-restdocs.version> <spring-retry.version>1.2.4.RELEASE</spring-retry.version> <spring-security.version>5.2.1.RELEASE</spring-security.version> <spring-session-bom.version>Corn-RELEASE</spring-session-bom.version> <spring-ws.version>3.0.8.RELEASE</spring-ws.version> <sqlite-jdbc.version>3.28.0</sqlite-jdbc.version> <sun-mail.version>${jakarta-mail.version}</sun-mail.version> <tomcat.version>9.0.29</tomcat.version> <thymeleaf.version>3.0.11.RELEASE</thymeleaf.version> <thymeleaf-extras-data-attribute.version>2.0.1</thymeleaf-extras-dataattribute.version> ... </properties>
從spring-boot-dependencies底層原始檔可以看出,該檔案通過標籤對一些常用技術框架的依賴檔案進行了統一版本號管理,例如activemq、spring、tomcat等,都有與Spring Boot 2.2.2版本相匹配的版本,這也是pom.xml引入依賴檔案不需要標註依賴檔案版本號的原因。
需要說明的是,如果pom.xml引入的依賴檔案不是 spring-boot-starter-parent管理的,那麼在pom.xml引入依賴檔案時,需要使用標籤指定依賴檔案的版本號。
檢視spring-boot-starter-web依賴檔案原始碼,核心程式碼具體如下
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter</artifactId> <version>2.7.1</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-json</artifactId> <version>2.7.1</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <version>2.7.1</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>5.3.21</version> <scope>compile</scope> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-webmvc</artifactId> <version>5.3.21</version> <scope>compile</scope> </dependency> </dependencies>
從上述程式碼可以發現,spring-boot-starter-web依賴啟動器的主要作用是提供Web開發場景所需的底層所有依賴。
正是如此,在pom.xml中引入spring-boot-starter-web依賴啟動器時,就可以實現Web場景開發,而不需要額外匯入Tomcat伺服器以及其他Web依賴檔案等。當然,這些引入的依賴檔案的版本號是由spring-boot-starter-parent父依賴進行的統一管理。
Spring Boot除了提供有上述介紹的Web依賴啟動器外,還提供了其他許多開發場景的相關依賴,我們可以開啟Spring Boot官方檔案,搜尋“Starters”關鍵字查詢場景依賴啟動器
列出了Spring Boot官方提供的部分場景依賴啟動器,這些依賴啟動器適用於不同的場景開發,使用時只需要在pox.xml檔案中匯入對應的依賴啟動器即可。
需要說明的是,Spring Boot官方並不是針對所有場景開發的技術框架都提供了場景啟動器,例如資料庫操作框架MyBatis、阿里巴巴的Druid資料來源等,Spring Boot官方就沒有提供對應的依賴啟動器。為了充分利用Spring Boot框架的優勢,在Spring Boot官方沒有整合這些技術框架的情況下,MyBatis、Druid等技術框架所在的開發團隊主動與Spring Boot框架進行了整合,實現了各自的依賴啟動器,例如mybatis-spring-boot-starter、druid-spring-boot-starter等。我們在pom.xml檔案中引入這些第三方的依賴啟動器時,切記要設定對應的版本號。
到此這篇關於SpringBoot的依賴管理設定的文章就介紹到這了,更多相關SpringBoot 依賴管理內容請搜尋it145.com以前的文章或繼續瀏覽下面的相關文章希望大家以後多多支援it145.com!
相關文章
<em>Mac</em>Book项目 2009年学校开始实施<em>Mac</em>Book项目,所有师生配备一本<em>Mac</em>Book,并同步更新了校园无线网络。学校每周进行电脑技术更新,每月发送技术支持资料,极大改变了教学及学习方式。因此2011
2021-06-01 09:32:01
综合看Anker超能充系列的性价比很高,并且与不仅和iPhone12/苹果<em>Mac</em>Book很配,而且适合多设备充电需求的日常使用或差旅场景,不管是安卓还是Switch同样也能用得上它,希望这次分享能给准备购入充电器的小伙伴们有所
2021-06-01 09:31:42
除了L4WUDU与吴亦凡已经多次共事,成为了明面上的厂牌成员,吴亦凡还曾带领20XXCLUB全队参加2020年的一场音乐节,这也是20XXCLUB首次全员合照,王嗣尧Turbo、陈彦希Regi、<em>Mac</em> Ova Seas、林渝植等人全部出场。然而让
2021-06-01 09:31:34
目前应用IPFS的机构:1 谷歌<em>浏览器</em>支持IPFS分布式协议 2 万维网 (历史档案博物馆)数据库 3 火狐<em>浏览器</em>支持 IPFS分布式协议 4 EOS 等数字货币数据存储 5 美国国会图书馆,历史资料永久保存在 IPFS 6 加
2021-06-01 09:31:24
开拓者的车机是兼容苹果和<em>安卓</em>,虽然我不怎么用,但确实兼顾了我家人的很多需求:副驾的门板还配有解锁开关,有的时候老婆开车,下车的时候偶尔会忘记解锁,我在副驾驶可以自己开门:第二排设计很好,不仅配置了一个很大的
2021-06-01 09:30:48
不仅是<em>安卓</em>手机,苹果手机的降价力度也是前所未有了,iPhone12也“跳水价”了,发布价是6799元,如今已经跌至5308元,降价幅度超过1400元,最新定价确认了。iPhone12是苹果首款5G手机,同时也是全球首款5nm芯片的智能机,它
2021-06-01 09:30:45