<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>

                企業??AI智能體構建引擎,智能編排和調試,一鍵部署,支持知識庫和私有化部署方案 廣告
                ## 1. 基礎 ### 1.1 什么是SpringBoot ![](https://box.kancloud.cn/ae88d8079d16a2d36a06eaf32bc36868_979x276.png) ### 1.2 springboot優缺點 ![](https://box.kancloud.cn/b3e8581ed61eb10a8b88bd976b53b336_929x514.png) ## 2. 第一個SpringBoot應用 ### 2.1 創建maven項目 ### 2.2 設置spring boot的parent ~~~ <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.5.2.RELEASE</version> </parent> ~~~ 說明:Spring boot的項目必須要將parent設置為spring boot的parent,該parent包含了大量默認的配置,大大簡化了我們的開發。(web.xml,spring.xml…) ### 2.3 導入spring boot的web支持 ~~~ <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> ~~~ ### 2.4 添加Spring boot的插件 ~~~ <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> </plugin> ~~~ ### 2.5 編寫第一個Spring Boot的應用 ~~~ @Controller @SpringBootApplication @Configuration public class HelloApplication { @RequestMapping("hello") @ResponseBody public String hello(){ return "hello world!"; } public static void main(String[] args) { SpringApplication.run(HelloApplication.class, args); } } ~~~ 代碼說明: > 1. @SpringBootApplication:Spring Boot項目的核心注解,主要目的是開啟自動配置。;SpringApplication.run所有跑的class必須用這個注解聲明 > 2. @Configuration:這是一個配置Spring的配置類; > 3. @Controller:標明這是一個SpringMVC的Controller控制器; > 4. main方法:在main方法中啟動一個應用,即:這個應用的入口; 效果 :這樣一個簡單的web項目就OK了 ![](https://box.kancloud.cn/fa4517d5b7f42aaa2a2ab5c6e7950032_935x187.png) ## 3. Spring Boot的核心 ### 3.1 入口類和@SpringBootApplication > 1. Spring Boot的項目一般都會有*Application的入口類,入口類中會有main方法,這是一個標準的Java應用程序的入口方法。 > 2. @SpringBootApplication注解是Spring Boot的核心注解,它其實是一個組合注解: ![](https://box.kancloud.cn/2dc2e99fe5b4b361fbccdc77a4ffb916_1177x260.png) >* 該注解主要組合了以下注解: > 1. @SpringBootConfiguration: > 這是Spring Boot項目的配置注解,這也是一個組合注解,在Spring Boot項目中推薦使用@ SpringBootConfiguration替代@Configuration ![](https://box.kancloud.cn/136d0b21cf5d40aad3a755cbd9346e59_573x194.png) > 2. @EnableAutoConfiguration: > 啟用自動配置,該注解會使Spring Boot根據項目中依賴的jar包自動配置項目的配置項: > a) 如:我們添加了spring-boot-starter-web的依賴,項目中也就會引入SpringMVC的依賴,Spring Boot就會自動配置tomcat和SpringMVC ![](https://box.kancloud.cn/1487aecc05434aa01c7039348f58b00c_577x243.png) > 3. @ComponentScan:默認掃描@SpringBootApplication所在類的同級目錄以及它的子目錄。 ### 3.3 關閉自動配置 通過上述,我們得知,Spring Boot會根據項目中的jar包依賴,自動做出配置,Spring Boot支持的自動配置如下(非常多): ![](https://box.kancloud.cn/14a2af67afb351b0f8f911b269f0c253_546x631.png) 如果我們不需要Spring Boot自動配置,想關閉某一項的自動配置,該如何設置呢? 比如:我們不想自動配置Redis,想手動配置。 ![](https://box.kancloud.cn/c0d6cb35124f3cbc44ece632f5338253_775x119.png) 當然了,其他的配置就類似了。 ## 3.4 全局配置 Spring Boot項目使用一個全局的配置文件application.properties或者是application.yml,在resources目錄下或者類路徑下的/config下,一般我們放到resources下。 ### 3.4.1 修改tomcat的端口為5324 ![](https://box.kancloud.cn/ec7ab4bb6483ed6d9dd13122fec9222f_622x165.png) 重新啟動應用,查看效果: ![](https://box.kancloud.cn/d262d1742ffc4cfa75c85ef0890ce98d_944x160.png) ### 3.4.2 修改進入DispatcherServlet的規則為:*.html ![](https://box.kancloud.cn/6eebb490cc5c75af82fc4e0e74b4b28d_465x94.png) 測試: ## 3.5 Starter pom ![](https://box.kancloud.cn/3919e98f31beeb25d8ace68dd3656d91_977x134.png) ![](https://box.kancloud.cn/4a4dd6527b720b9d89f99433ae354769_944x348.png) ![](https://box.kancloud.cn/bfd5a766329ed6113ed08c0e02c0af41_912x654.png) ![](https://box.kancloud.cn/f328efcf7cdd8777ff1c97ea7462eeae_928x501.png) ## 3.6 引入xml 配置文件 ![](https://box.kancloud.cn/027296eb58ab269defb17d2e877aaf07_948x186.png) ## 3.7 Spring Boot的自動配置的原理 1. Spring Boot在進行SpringApplication對象實例化時會加載META-INF/spring.factories文件,將該配置文件中的配置載入到Spring容器。 2. Maven下載源碼 3. 通過 dependency:sources 該命令可以下載該項目中所有的依賴的包的源碼。 ### 3.7.1 源碼分析 org.springframework.boot.SpringApplication: ![](https://box.kancloud.cn/f9cfccd779257b40c5f410e5be3f57ff_1208x283.png) ### 3.7.2 Spring.factories文件 ~~~ # Initializers org.springframework.context.ApplicationContextInitializer=\ org.springframework.boot.autoconfigure.SharedMetadataReaderFactoryContextInitializer,\ org.springframework.boot.autoconfigure.logging.AutoConfigurationReportLoggingInitializer # Application Listeners org.springframework.context.ApplicationListener=\ org.springframework.boot.autoconfigure.BackgroundPreinitializer # Auto Configuration Import Listeners org.springframework.boot.autoconfigure.AutoConfigurationImportListener=\ org.springframework.boot.autoconfigure.condition.ConditionEvaluationReportAutoConfigurationImportListener # Auto Configuration Import Filters org.springframework.boot.autoconfigure.AutoConfigurationImportFilter=\ org.springframework.boot.autoconfigure.condition.OnClassCondition # Auto Configure org.springframework.boot.autoconfigure.EnableAutoConfiguration=\ org.springframework.boot.autoconfigure.admin.SpringApplicationAdminJmxAutoConfiguration,\ org.springframework.boot.autoconfigure.aop.AopAutoConfiguration,\ org.springframework.boot.autoconfigure.amqp.RabbitAutoConfiguration,\ org.springframework.boot.autoconfigure.batch.BatchAutoConfiguration,\ org.springframework.boot.autoconfigure.cache.CacheAutoConfiguration,\ org.springframework.boot.autoconfigure.cassandra.CassandraAutoConfiguration,\ org.springframework.boot.autoconfigure.cloud.CloudAutoConfiguration,\ org.springframework.boot.autoconfigure.context.ConfigurationPropertiesAutoConfiguration,\ org.springframework.boot.autoconfigure.context.MessageSourceAutoConfiguration,\ org.springframework.boot.autoconfigure.context.PropertyPlaceholderAutoConfiguration,\ org.springframework.boot.autoconfigure.couchbase.CouchbaseAutoConfiguration,\ org.springframework.boot.autoconfigure.dao.PersistenceExceptionTranslationAutoConfiguration,\ org.springframework.boot.autoconfigure.data.cassandra.CassandraDataAutoConfiguration,\ org.springframework.boot.autoconfigure.data.cassandra.CassandraRepositoriesAutoConfiguration,\ org.springframework.boot.autoconfigure.data.couchbase.CouchbaseDataAutoConfiguration,\ org.springframework.boot.autoconfigure.data.couchbase.CouchbaseRepositoriesAutoConfiguration,\ 還有很多 ~~~ ### 3.8 Redis的自動配置 從上述的配置中可以看出,org.springframework.boot.autoconfigure.data.redis.RedisAutoConfiguration是Redis的自動配置。內容: #### 3.8.1 條件注解 ![](https://box.kancloud.cn/e7bbd5cdc122efeeea38bae965f9224e_1214x580.png) ![](https://box.kancloud.cn/d281c38d22d56480eb21a19e08107e84_674x164.png) ![](https://box.kancloud.cn/b3d222d636d680a745170d5d6bd8e37f_946x504.png) @ConditionOnMissingBean:當我們沒有自己去配置redis配置對象時,springboot才會自動幫我們配置
                  <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>

                              哎呀哎呀视频在线观看