欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

SpringBoot淺析依賴管理與自動配置概念與使用

 更新時間:2022年10月17日 08:42:59   作者:一根頭發(fā)學(xué)一年  
一般來講SpringBoot項目是不需要指定版本,而SSM項目是需要指定版本,SpringBoot的核心依賴就是spring-boot-starter-parent和spring-boot-starter-web兩個依賴,這篇文章主要介紹了SpringBoot依賴管理與自動配置概念與使用

說明:基于atguigu學(xué)習(xí)筆記。部分內(nèi)容涉及上一章節(jié),請參考以下鏈接。

上一章:Spring boot 介紹和簡易入門

依賴管理

自動版本仲裁

在上一節(jié)創(chuàng)建Spring Boot項目時,看到,引入了一個父項目。如下:

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.3.4.RELEASE</version>
</parent>

父項目的主要作用是依賴管理。父項目已經(jīng)聲明了很多需要的依賴及其版本,子項目如果繼承了父項目,則不需要再聲明版本號(也稱自動版本仲裁)。除非你不需要父項目的版本號。

點擊查看父項目,可以看到,還有一個父項目是spring-boot-dependencies。如下:

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-dependencies</artifactId>
    <version>2.7.0</version>
</parent>

再點進去看到這個父項目維護了很多依賴的版本,如下:

<properties>
    <activemq.version>5.16.5</activemq.version>
    <antlr2.version>2.7.7</antlr2.version>
    <appengine-sdk.version>1.9.96</appengine-sdk.version>
    <artemis.version>2.19.1</artemis.version>
    <aspectj.version>1.9.7</aspectj.version>
    <assertj.version>3.22.0</assertj.version>
    <atomikos.version>4.0.6</atomikos.version>
    <awaitility.version>4.2.0</awaitility.version>
    <build-helper-maven-plugin.version>3.3.0</build-helper-maven-plugin.version>
    <byte-buddy.version>1.12.10</byte-buddy.version>
    <cache2k.version>2.6.1.Final</cache2k.version>
    <caffeine.version>2.9.3</caffeine.version>
    <cassandra-driver.version>4.14.1</cassandra-driver.version>
    <classmate.version>1.5.1</classmate.version>
    <commons-codec.version>1.15</commons-codec.version>
    <commons-dbcp2.version>2.9.0</commons-dbcp2.version>
    <commons-lang3.version>3.12.0</commons-lang3.version>
    <commons-pool.version>1.6</commons-pool.version>
    <commons-pool2.version>2.11.1</commons-pool2.version>
    <couchbase-client.version>3.3.0</couchbase-client.version>
    <db2-jdbc.version>11.5.7.0</db2-jdbc.version>
    <dependency-management-plugin.version>1.0.11.RELEASE</dependency-management-plugin.version>
    <derby.version>10.14.2.0</derby.version>
    <dropwizard-metrics.version>4.2.9</dropwizard-metrics.version>
    <ehcache.version>2.10.9.2</ehcache.version>
    <ehcache3.version>3.10.0</ehcache3.version>
    <elasticsearch.version>7.17.3</elasticsearch.version>
    <embedded-mongo.version>3.4.5</embedded-mongo.version>
  	<!-- 等等還有很多 -->

如果不想要父項目的版本,引入依賴時可以自己定義版本號,如下:

<properties>
    <mysql.version>5.1.43</mysql.version>
</properties>

starter啟動器

上個章節(jié),引入依賴時,只引入了spring-boot-starter-web這一個依賴。像這種spring-boot-starter-* 的依賴就是start啟動器。他是一種場景的所有依賴集合描述,比如spring-boot-starter-web就是web開始所需要的所有依賴的集合描述。只要引入這一個依賴,就會把web開發(fā)場景所需要的依賴全都引入。

只要引入starter,這個場景的所有常規(guī)需要的依賴都自動引入。

注意像這種spring-boot-starter-格式的啟動器一般是官方提供的。也可以自己創(chuàng)建,官方建議,自己創(chuàng)建的格式是-spring-boot-starter,比如很多第三方提供的簡化開發(fā)的場景啟動器。

自動配置

上面我們看到,當(dāng)引入spring-boot-starter-web啟動器的時候,spring boot會自動幫我們做很多配置。

1.自動引入Tomcat依賴并配好Tomcat。

2.自動配好SpringMVC: 引入并配置好SpringMVC全套組件。

3.自動配好Web常見功能,如:字符編碼問題。

4.配置好默認的包結(jié)構(gòu): 主程序所在包及其下面的所有子包里面的組件都會被默認掃描進來, 想要改變掃描路徑,在@SpringBootApplication注解里使scanBasePackages屬性指定,或者使用@ComponentScan注解。

@SpringBootApplication注解源碼可以看到,@SpringBootApplication注解相當(dāng)于以下3個注解:@SpringBootConfiguration、@EnableAutoConfiguration、@ComponentScan(“com.example”)

5.各種配置分配了默認值

6.按需加載所有自動配置項: 引入了哪些場景,這個場景的自動配置才會開啟。SpringBoot所有的自動配置功能都在 spring-boot-autoconfigure 包里面。

到此這篇關(guān)于SpringBoot淺析依賴管理與自動配置概念與使用的文章就介紹到這了,更多相關(guān)SpringBoot依賴管理內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java中JSONObject和Map<String,?Object>的轉(zhuǎn)換方法

    Java中JSONObject和Map<String,?Object>的轉(zhuǎn)換方法

    平時對接口時,經(jīng)常遇到j(luò)son字符串和map對象之間的交互,這篇文章主要給大家介紹了關(guān)于Java中JSONObject和Map<String,?Object>的轉(zhuǎn)換方法,文中通過代碼介紹的非常詳細,需要的朋友可以參考下
    2024-07-07
  • java操作hdfs的方法示例代碼

    java操作hdfs的方法示例代碼

    這篇文章主要介紹了java操作hdfs的相關(guān)資料,在本地配置Hadoop和Maven的環(huán)境變量,首先需從官網(wǎng)下載與服務(wù)器相同版本的Hadoop安裝包,配置環(huán)境變量后,引入Maven的配置文件,以便管理項目依賴,最后,編寫代碼實現(xiàn)對HDFS的連接和操作,完成數(shù)據(jù)的讀寫,需要的朋友可以參考下
    2022-02-02
  • Java生成堆內(nèi)存dump的問題

    Java生成堆內(nèi)存dump的問題

    這篇文章主要介紹了Java生成堆內(nèi)存dump的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-12-12
  • IntelliJ IDEA 構(gòu)建maven多模塊工程項目(詳細多圖)

    IntelliJ IDEA 構(gòu)建maven多模塊工程項目(詳細多圖)

    這篇文章主要介紹了IntelliJ IDEA 構(gòu)建maven多模塊工程項目(詳細多圖),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-06-06
  • springboot實現(xiàn)瀏覽器截屏并添加文字

    springboot實現(xiàn)瀏覽器截屏并添加文字

    大家好,本篇文章主要講的是springboot實現(xiàn)瀏覽器截屏并添加文字,感興趣的同學(xué)趕快來看一看吧,對你有幫助的話記得收藏一下
    2022-02-02
  • win10 eclipse配置環(huán)境變量的教程圖解

    win10 eclipse配置環(huán)境變量的教程圖解

    本文通過圖文并茂的形式給大家介紹了win10 eclipse配置環(huán)境變量的方法,非常不錯,具有一定的參考借鑒價值,需要的朋友參考下吧
    2018-07-07
  • Java實現(xiàn)中國象棋的示例代碼

    Java實現(xiàn)中國象棋的示例代碼

    中國象棋是起源于中國的一種棋,屬于二人對抗性游戲的一種,在中國有著悠久的歷史。由于用具簡單,趣味性強,成為流行極為廣泛的棋藝活動。本文將利用Java實現(xiàn)這一經(jīng)典游戲,需要的可以參考一下
    2022-02-02
  • 深入理解Java 對象和類

    深入理解Java 對象和類

    下面小編就為大家?guī)硪黄钊肜斫釰ava 對象和類。小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2016-05-05
  • SpringBoot利用jackson格式化時間的三種方法

    SpringBoot利用jackson格式化時間的三種方法

    日常開發(fā)過程中經(jīng)常會使用json進行數(shù)據(jù)的傳輸,這就涉及到了對象和json的相互轉(zhuǎn)化,常用的解決方案有:Jackson(推薦)、谷歌的Gson、阿里的Fastjson,這篇文章主要給大家介紹了關(guān)于SpringBoot如何利用jackson格式化時間的相關(guān)資料,需要的朋友可以參考下
    2021-06-06
  • java 重載(overload)與重寫(override)詳解及實例

    java 重載(overload)與重寫(override)詳解及實例

    這篇文章主要介紹了java 重載(overload)與重寫(override)詳解及實例的相關(guān)資料,并附實例代碼,需要的朋友可以參考下
    2016-10-10

最新評論