<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                (1)啟動類 ```java @SpringBootApplication // 標注為該類為SpringBoot項目的啟動類 public class ComExampleBootApplication { public static void main(String[] args) { SpringApplication.run(ComExampleBootApplication.class, args); } } ``` (2)`@SpringBootApplication`的部分源碼 ```java // 將被標注的類聲明為一個SpringBoot的配置類,它的底層是@Configuration, // @Configuration是Spring中定義的一個注解,被它標注的類相當于一個IoC容器或配置文件 // @Configuration的底層又是@Component來定義的,所以@Configuration到底還是一個組件 @SpringBootConfiguration // 開啟自動配置,所以相比于之前學的SSM,SpringBoot少了許多的配置文件 // 我們下面看一下@EnableAutoConfiguration的源碼 @EnableAutoConfiguration @ComponentScan( ... ) public @interface SpringBootApplication { ... } ``` (3)`@EnableAutoConfiguration`的部分源碼 ```java // 將com/exa/sboot包及子包包含的Java類都掃描并注入到IoC容器中 @AutoConfigurationPackage // 將許多的配置組件導入到IoC容器中,并讓這些組件生效 @Import({AutoConfigurationImportSelector.class}) public @interface EnableAutoConfiguration {...} ``` (4)通過`@AutoConfigurationPackage` → `Registrar.class `,找到`Registrar`的部分源碼如下 ![](https://img.kancloud.cn/15/af/15afa5ab4401bdda03cdb8792895e2a1_1313x389.png) 顯示結果如下,可見通過`@AutoConfigurationPackage`讓SpringBoot定位到了啟動類。 ![](https://img.kancloud.cn/94/0b/940b2f93805a4ced8744695e5e81e0a1_1484x410.jpg) (5)計算下面的表達式 ![](https://img.kancloud.cn/dc/c0/dcc0f0321f4a754f3cec617d3930accf_1494x703.png) ![](https://img.kancloud.cn/6b/ef/6befeaab59591f3ee01051a91e921e18_1466x491.jpg) (6)結論 所以`@AutoConfigurationPackage`最終被應用到啟動類上,并掃描啟動類所在的包及子包。如果你將一個包創建在啟動類所在的包之上,SpringBoot是找不到的,比如啟動類所在的包為`com.example.boot`,然后創建一個包為`com.example.controller`,則SpringBoot是掃描不到`controller`包的。 <br/> 我們可以通過 Debug 來查看AutoConfigurationImportSelector導入了哪些自動配置組件。 *`org.springframework.boot.autoconfigure.AutoConfigurationImportSelector`* ![](https://img.kancloud.cn/6a/9a/6a9adfd0f90ee09256bad9290ec8c264_1444x134.jpg) ![](https://img.kancloud.cn/02/22/0222d96f3ca9c0f98a6fc2925db64853_1137x336.png)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看