最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

SpringBoot超詳細(xì)講解自動(dòng)配置原理

 更新時(shí)間:2022年06月22日 09:45:47   作者:昱晟168  
在進(jìn)行項(xiàng)目編寫前,我們還需要知道一個(gè)東西,就是SpringBoot對(duì)我們的SpringMVC還做了哪些配置,包括如何擴(kuò)展,如何定制,只有把這些都搞清楚了,我們?cè)谥笫褂貌艜?huì)更加得心應(yīng)手

SpringBoot自動(dòng)配置原理

了解SpringBoot自動(dòng)配置原理

1.SpringBoot特點(diǎn)

2.容器功能

3.自動(dòng)配置原理入門

4.開發(fā)技巧

SpringBoot特點(diǎn)

1.依賴管理

A.父項(xiàng)目做依賴管理

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

父項(xiàng)目管理

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

上面的父項(xiàng)目是:

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

所以:幾乎聲明了所有開發(fā)中常用的依賴的版本號(hào),自動(dòng)版本仲裁機(jī)制

父項(xiàng)目管理的作用是:引入的依賴的認(rèn)都可以不寫版本,會(huì)自動(dòng)版本號(hào)仲裁機(jī)制,但是引入非版本仲裁的依賴時(shí),需要寫版本號(hào)

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

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

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

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

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

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

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

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

第一步:先查詢父項(xiàng)目管理的版本號(hào)

第二步:使用properties版本號(hào)覆蓋仲裁版本號(hào)

第三步:引入依賴

例如:

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

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

步驟3: 

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

2.自動(dòng)配置

A.自動(dòng)配好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.自動(dòng)配好SpringMVC

第一步:引入SpringMVC全套組件

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

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

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

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

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

案例:

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

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

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

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

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

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

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

E.按需要加載所有自動(dòng)配置項(xiàng)

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

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

相關(guān)文章

  • java讀取resource目錄下文件的方法示例

    java讀取resource目錄下文件的方法示例

    這篇文章主要介紹了利用java讀取resource目錄下文件的方法,文中給出了詳細(xì)的示例代碼,相信對(duì)大家具有一定的參考借鑒,需要的朋友們下面來一起看看吧。
    2017-02-02
  • Java函數(shù)式編程(八):字符串及方法引用

    Java函數(shù)式編程(八):字符串及方法引用

    這篇文章主要介紹了Java函數(shù)式編程(八):字符串及方法引用,本文是系列文章的第8篇,其它文章請(qǐng)參閱本文底部的相關(guān)文章,需要的朋友可以參考下
    2014-09-09
  • Java中類變量和類方法的基本使用

    Java中類變量和類方法的基本使用

    這篇文章主要介紹了Java中類變量和類方法的基本使用,類變量也叫靜態(tài)變量/靜態(tài)屬性,是該類的所有對(duì)象共享的變量,任何一個(gè)該類的對(duì)象訪問它時(shí),取到的都是相同的值,同樣任何一個(gè)該類的對(duì)象去修改它時(shí),修改的也是同一個(gè)變量,需要的朋友可以參考下
    2023-07-07
  • 詳解Java如何向http/https接口發(fā)出請(qǐng)求

    詳解Java如何向http/https接口發(fā)出請(qǐng)求

    這篇文章主要為大家詳細(xì)介紹了Java如何實(shí)現(xiàn)向http/https接口發(fā)出請(qǐng)求,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2025-01-01
  • 解決struts2 攔截器修改request的parameters參數(shù)失敗的問題

    解決struts2 攔截器修改request的parameters參數(shù)失敗的問題

    這篇文章主要介紹了解決struts2 攔截器修改request的parameters參數(shù)失敗的問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • Java 多線程Synchronized和Lock的區(qū)別

    Java 多線程Synchronized和Lock的區(qū)別

    這篇文章主要介紹了Java 多線程Synchronized和Lock的區(qū)別,幫助大家更好的理解和使用Java,感興趣的朋友可以了解下
    2021-01-01
  • Spring Boot實(shí)現(xiàn)簡單的增刪改查

    Spring Boot實(shí)現(xiàn)簡單的增刪改查

    這篇文章主要介紹了Spring Boot如何實(shí)現(xiàn)簡單的增刪改查,幫助大家更好的理解和學(xué)習(xí)spring boot框架,感興趣的朋友可以了解下
    2020-09-09
  • SpringBoot設(shè)置首頁(默認(rèn)頁)跳轉(zhuǎn)功能的實(shí)現(xiàn)方案

    SpringBoot設(shè)置首頁(默認(rèn)頁)跳轉(zhuǎn)功能的實(shí)現(xiàn)方案

    這篇文章主要介紹了SpringBoot設(shè)置首頁(默認(rèn)頁)跳轉(zhuǎn)功能,本文通過兩種方案,給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-07-07
  • idea搭建SSM框架遇踩的坑(附完整過程)

    idea搭建SSM框架遇踩的坑(附完整過程)

    最近準(zhǔn)備搭建一個(gè)SSM框架,由于很久沒有搭建了,一來就遇到各種問題,折騰了一天終于搞定了,特此記錄一下遇到的問題,下面這篇文章主要給大家介紹了關(guān)于idea搭建SSM框架遇踩的坑,文中還附完整過程,需要的朋友可以參考下
    2023-04-04
  • java使用EasyExcel導(dǎo)入導(dǎo)出excel

    java使用EasyExcel導(dǎo)入導(dǎo)出excel

    導(dǎo)入導(dǎo)出excel數(shù)據(jù)是常見的需求,今天就來看一下Java基于EasyExcel實(shí)現(xiàn)這個(gè)功能,感興趣的朋友可以了解下
    2021-05-05

最新評(píng)論

钟祥市| 金溪县| 渝中区| 松江区| 汝城县| 开鲁县| 稷山县| 聊城市| 沾益县| 临沧市| 宽城| 荆门市| 肥东县| 肥城市| 平利县| 安国市| 蛟河市| 金昌市| 宜州市| 徐闻县| 和龙市| 河东区| 蒲江县| 漳州市| 苗栗县| 光山县| 湘阴县| 博爱县| 泰兴市| 雷波县| 固安县| 桐柏县| 昭通市| 大连市| 保康县| 商河县| 永平县| 格尔木市| 洛南县| 武平县| 贵港市|