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

SpringBoot超詳細講解自動配置原理

 更新時間:2022年06月22日 09:45:47   作者:昱晟168  
在進行項目編寫前,我們還需要知道一個東西,就是SpringBoot對我們的SpringMVC還做了哪些配置,包括如何擴展,如何定制,只有把這些都搞清楚了,我們在之后使用才會更加得心應(yīng)手

SpringBoot自動配置原理

了解SpringBoot自動配置原理

1.SpringBoot特點

2.容器功能

3.自動配置原理入門

4.開發(fā)技巧

SpringBoot特點

1.依賴管理

A.父項目做依賴管理

父項目做依賴管理作用:是控制導(dǎo)入的依賴版本號

父項目管理

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

上面的父項目是:

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

所以:幾乎聲明了所有開發(fā)中常用的依賴的版本號,自動版本仲裁機制

父項目管理的作用是:引入的依賴的認(rèn)都可以不寫版本,會自動版本號仲裁機制,但是引入非版本仲裁的依賴時,需要寫版本號

B.開發(fā)導(dǎo)入starter場景啟動器

starter場景啟動器的作用就是引入所有相關(guān)依賴,而父項目管理就是控制依賴的版本號

    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
    </dependencies>

1、見到很多 spring-boot-starter-* : *就某種場景
2、只要引入starter,這個場景的所有常規(guī)需要的依賴我們都自動引入
3、SpringBoot所有支持的場景【參考下面地址】
https://docs.spring.io/spring-boot/docs/current/reference/html/using-spring-boot.html#using-boot-starter

4、見到的  *-spring-boot-starter: 第三方為我們提供的簡化開發(fā)的場景啟動器。

5、所有場景啟動器最底層的依賴【也就是核心依賴】

C.可以修改默認(rèn)版本號

當(dāng)版本仲裁的版本號不符合我們的開發(fā)要求時,可以修改默認(rèn)的版本號

第一步:先查詢父項目管理的版本號

第二步:使用properties版本號覆蓋仲裁版本號

第三步:引入依賴

例如:

步驟1、查看spring-boot-dependencies里面規(guī)定當(dāng)前依賴的版本 用的 key。
步驟2、在當(dāng)前項目里面重寫配置

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

步驟3: 

    <dependencys>
       <dependency>
            <groupId>mysql</groupId>
            <artifactId>mysql-connector-java</artifactId>
       </dependency>
    </dependencys>

2.自動配置

A.自動配好Tomcat

第一步:引入Tomcat依賴

<dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-tomcat</artifactId>
      <version>2.3.4.RELEASE</version>
      <scope>compile</scope>
    </dependency>

第二步:配置Tomcat服務(wù)器

B.自動配好SpringMVC

第一步:引入SpringMVC全套組件

第二步:自動配置好SpringMVC常用組件功能,如:注冊過濾器[字符編碼問題],前端控制器,視圖解析器,文件上傳解析器,異常處理組件 ,攔截器等等。

SpringBoot幫我們配置好了所有web開發(fā)的常見場景

C.默認(rèn)的包結(jié)構(gòu)

在主程序下的所有包及其下面的所有子包里面的組件都會默認(rèn)掃描進來,無需以前的包掃描配置

如:主要按照下面的主程序結(jié)構(gòu)就能默認(rèn)掃描到

案例:

如果需要改變默認(rèn)掃描配置的兩種方式:

方式一:在@SpringBootApplication注解中的scanBasePackages屬性設(shè)置掃描配置

@SpringBootApplication(scanBasePackages={"com.haikang"})

方式二:使用另外的三個注解,代替@SpringBootApplication注解,并在@ComponentScan注解中指定掃描路徑

@SpringBootConfiguration
@EnableAutoConfiguration
@ComponentScan("com.haikang")

D.各種配置擁有默認(rèn)值

  • 默認(rèn)配置最終都是映射到相關(guān)指定的類上,如:MultipartProperties文件上傳默認(rèn)配置類
  • 配置文件的值最終綁定指定類上,這個類會在容器中創(chuàng)建對象

E.按需要加載所有自動配置項

  • 由于有非常多的starter,是引入了哪些場景這個場景的自動配置才會開戶
  • SpringBoot所有的自動配置功能都在spring-boot-autoconfigure包里面

到此這篇關(guān)于SpringBoot超詳細講解自動配置原理的文章就介紹到這了,更多相關(guān)SpringBoot自動配置內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • Java中List列表去重有序和無序的6種方法

    Java中List列表去重有序和無序的6種方法

    在日常的業(yè)務(wù)開發(fā)中,會遇到List中的重復(fù)數(shù)據(jù)去除掉的場景,本文就來介紹一下Java中List列表去重有序和無序的6種方法,具有一定的參考價值,感興趣的可以了解一下
    2024-03-03
  • mybatis判斷l(xiāng)ist不為空/大小的問題

    mybatis判斷l(xiāng)ist不為空/大小的問題

    這篇文章主要介紹了mybatis判斷l(xiāng)ist不為空/大小的問題,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-01-01
  • java實現(xiàn)簡單的驗證碼功能

    java實現(xiàn)簡單的驗證碼功能

    這篇文章主要為大家詳細介紹了java實現(xiàn)簡單的驗證碼功能,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-04-04
  • Spring JPA整合QueryDSL的示例代碼

    Spring JPA整合QueryDSL的示例代碼

    這篇文章主要介紹了Spring JPA整合QueryDSL的示例代碼,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-10-10
  • SSH框架網(wǎng)上商城項目第9戰(zhàn)之添加和更新商品類別功能實現(xiàn)

    SSH框架網(wǎng)上商城項目第9戰(zhàn)之添加和更新商品類別功能實現(xiàn)

    這篇文章主要為大家詳細介紹了SSH框架網(wǎng)上商城項目第9戰(zhàn)之添加和更新商品類別功能實現(xiàn),感興趣的小伙伴們可以參考一下
    2016-06-06
  • zuulGateway 通過filter統(tǒng)一修改返回值的操作

    zuulGateway 通過filter統(tǒng)一修改返回值的操作

    這篇文章主要介紹了zuulGateway 通過filter統(tǒng)一修改返回值的操作,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2020-10-10
  • Java遞歸尋路實現(xiàn),你真的理解了嗎

    Java遞歸尋路實現(xiàn),你真的理解了嗎

    遞歸就是一個過程或函數(shù)在其定義或說明中有直接或間接調(diào)用自身的一種方法,它通常把一個大型復(fù)雜的問題層層轉(zhuǎn)化為一個與原問題相似的規(guī)模較小的問題來求解,需要的朋友可以參考下
    2021-08-08
  • 最新評論