ps中網(wǎng)站頁面做多大的豬八戒網(wǎng)接單平臺
SpringBoot
SpringBoot 是什么(了解)
是 Spring 的子項目,主要簡化 Spring 開發(fā)難度,去掉了繁重配置,提供各種啟動器,可以 讓程序員很快上手,節(jié)省開發(fā)時間.
?SpringBoot 的優(yōu)點(必會)
SpringBoot 對上述 Spring 的缺點進行的改善和優(yōu)化,基于約定優(yōu)于配置的思想,可 以讓開發(fā)人員不必在配置與邏輯業(yè)務(wù)之間進行思維的切換,全身心的投入到邏輯業(yè)務(wù)的代碼 編寫中,從而大大提高了開發(fā)的效率,一定程度上縮短了項目周期。 版本鎖定:解決是 maven 依賴版本容易沖突的問題,集合了常用的并且測試過的所有版本 使用了 Starter(啟動器)管理依賴并能對版本進行集中控制,如下的父工程帶有版本號, 就是對版本進行了集中控制. org.springframework.boot spring-boot-starter-parent 2.0.0.RELEASE 起步依賴 :解決了完成某一個功能要整合的 jar 包過多的問題,集合了常用的 jar 包 自動配置:解決了整合框架或者技術(shù)的配置文件過多,集合了所有的約定的默認(rèn)配置 內(nèi)置 Tomcat:通過內(nèi)置的 tomcat,無需再用其他外置的 Tomcat 就直接可以運行 javaEE 程序 總之:人們把 Spring Boot 稱為搭建程序的腳手架。其最主要作用就是幫我們快速的構(gòu)建 龐大的 spring 項目,并且盡可能的減少一切 xml 配置,做到開箱即用,迅速上手,讓我們 關(guān)注與業(yè)務(wù)而非配置。
運行 SpringBoot 項目的方式(必會)
? 可以打包 ? 可以使用 Maven 插件直接運行. ? 直接運行 main 方法.
SpringBoot 的啟動器 starter(必會)
(1)什么是 starter??
starter 啟動器,可以通過啟動器集成其他的技術(shù),比如說: web, mybatis, redis 等等.可 以提供對應(yīng)技術(shù)的開發(fā)和運行環(huán)境. 比如: pom 中引入 spring-boot-starter-web, 就可以進行 web 開發(fā).
(2)starter 執(zhí)行原理?
? SpringBoot 在啟動時候會去掃描 jar 包中的一個名為 spring.factories. ? 根據(jù)文件中的配置,去加載自動配置類. 配置文件格式是 key=value, value 中配置了很 多需要 Spring 加載的類. ? Spring 會去加載這些自動配置類, Spring 讀取后,就會創(chuàng)建這些類的對象,放到 Spring 容器中.后期就會從 Spring 容器中獲取這些類對象. (3)SpringBoot 中常用的啟動器 ? spring-boot-starter-web, 提供 web 技術(shù)支持 ? spring-boot-starter-test ? spring-boot-starter-jdbc ? spring-boot-starter-jpa ? spring-boot-starter-redis…等等
SpringBoot 運行原理剖析(必會)
?SpringApplication 類作用及 run()方法作用 ? SpringApplication 這個類整合了其他框架的啟動類, 只要運行這一個類,所有的整合 就都完成了. ? 調(diào) 用 run 函 數(shù) , 將 當(dāng) 前 啟 動 類 的 字 節(jié) 碼 傳 入 ( 主 要 目 的 是 傳 入 @SpringBootApplication 這個注解), 以及 main 函數(shù)的 args 參數(shù). ? 通過獲取當(dāng)前啟動類的核心信息, 創(chuàng)建 IOC 容器.
寫在最后:SpringBoot是常用的后端框架,面試也是考察重點。筆者小,中,大廠均有面試經(jīng)歷,每日分享Java全棧知識,希望能夠和大家共同進步。