SpringBoot一體式開發入門(從HelloWorld入門到詳細原理解釋)

爲什麼要使用SpringBoot?SpringBoot爲開發解決了什麼問題?

SpringBoot 簡化了Spring的應用開發,約定大於配置,去繁從簡,只需要Run 就能創建一個獨立的、產品級別的應用。

J2EE開發十分笨重,且需要配置的東西很多,開發效率低下,部署流程複雜,第三方技術集成難度大。而SpringBoot可以完成J2EE的一站式解決方案。此外,SpringCloud即可完成分佈式的整體解決方案。

  • 快速常見獨立運行的Spring項目以及與主流框架集成
  • 使用嵌入式的Servlet容器,應用無需打成war包
  • starters自動依賴與版本控制
  • 大量的自動配置,簡化開發,也可修改默認值
  • 無需配置XML,無代碼生成,開箱即用
  • 準生產環境的運行時應用監控
  • 與雲計算的天然集成

首先創建完springboot工程後,可以找到這個工程的pom文件

上述爲springboot真正管理所有應用依賴版本的地方,也就是springboot的版本控制中心,以後導入依賴默認是不需要寫版本的,但是如果導入的包沒有在依賴中管理就需要自己手動配置版本。

springboot將所有的功能場景都抽取出來,做成一個一個的starter(啓動器),只需要在項目中引入這些starter即可,所有相關的依賴都會導入進來。

上述圖顯示的是springboot的主啓動類,可以看到有一個註解@SpringBootApplication,點進去之後發現還有很多其他註解

@ComponentScan 起到一個自動掃描組件或bean的作用,並把這個bean定義加載到IOC容器中

@SpringBootConfiguration 起到標註配置類的作用,表明這是一個springboot的配置類,這個註解可以繼續點進去

從@Confuguration這個註解可以看出,實際上就是一個配置類,配置類對應spring的xml配置文件。

回到SpringBootApplication類中,看到@EnableAutoConfiguration,如字面意思,即開啓自動配置功能,這代表着以前我們需要自己配置的東西,現在springboot可以自動幫我們配置

此時自動配置涉及到一個spring.factories的調用,這個文件在如下位置

可以看出這裏寫了很多組件的配置類,所以自動發配置真正實現是從classpath中搜索所有的META-INF/spring.factories配置文件,並將其中對應的org,springframework.boot.autoconfigure包下的配置項,通過反射實例化爲對應標註了@Configuration的javaConfig形式的IOC容器配置類,然後將這些都彙總成一個實例並加載到IOC容器中。

springboot的hellowrld入門也很簡單,不需要配置tomcat也不需要自己創建很多複雜的文件配置,按照小流程完成工程的搭建後,自己寫一個Controller,寫一個接口然後啓動即可實現網絡頁面的呈現。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章