1. SpringBoot簡介:??
????1.1 Spring缺點:
????1.2?SpringBoot的核心功能:
2. SpringBoot快速入門:
3. 原理分析:
? ? 3.1 起步依賴原理分析:
????????3.1.1 分析spring-boot-starter-parent
? ? ????3.1.2 分析spring-boot-starter-web
? ? 3.2 自動配置原理解析:
1. SpringBoot簡介:
? ? ? ? 全新框架(底層就是使用spring)簡化Spring應用開發(fā)盯蝴,約定大于配置垄提。
? ? 1.1 Spring缺點:
? ? ? ? 盡管Spring組件代碼是輕量級的熊赖,但它的配置卻是重量級的
? ? 1.2?SpringBoot的核心功能:
????????起步依賴:
????????起步依賴本質(zhì)上是一個Maven項目對象模型(Project Object Model蓬网,POM)浓利,定義了對其他庫的傳遞依賴型将,這些東西加在一起即支持某項功能。簡單的說顷啼,起步依賴就是將具備某種功能的坐標打包到一起踏枣,并提供一些默認的功能。
????????自動配置:
????????Spring Boot的自動配置是一個運行時(更準確地說钙蒙,是應用程序啟動時)的過程茵瀑,考慮了眾多因素,才決定Spring配置應該用哪個不該用哪個躬厌。該過程是Springg自動完成的马昨。
2. SpringBoot快速入門:
? ? ? ? 1.?繼承SpringBoot的起步依賴spring-boot-starter-parent
? ? ? ? 2.?項目要導入web的啟動依賴
? ? ? ? 3.?編寫SpringBoot引導類
? ? ? ? 4. 編寫controller與成功訪問 localhost:8080/路由
? ? ? ? 5. 熱部署:spring-boot-devtools(idea也需要更改部分配置)
? ? ? ? 快速搭建:直接選擇Spring Initializr,免去上面步驟
3. 原理分析:
? ? 3.1 起步依賴原理分析:
? ? ? ? 3.1.1 分析spring-boot-starter-parent
? ??????從上面的spring-boot-starter-dependencies的pom.xml中我們可以發(fā)現(xiàn)扛施,一部分坐標的版本偏陪、依賴管理、插件管理已經(jīng)定義好煮嫌,所以我們的SpringBoot工程繼承spring-boot-starter-parent后已經(jīng)具備版本鎖定等配置了笛谦。所以起步依賴的作用就是進行依賴的傳遞。
????????3.1.2 分析spring-boot-starter-web
????????點擊spring-boot-starter-web昌阿,跳轉(zhuǎn)到了spring-boot-starter-web的pom.xml饥脑,xml配置如下
????????spring-boot-starter-web就是將web開發(fā)要使用的spring-web恳邀、spring-webmvc等坐標進行了“打包”,這樣我們的工程只要引入spring-boot-starter-web起步依賴的坐標就可以進行web開發(fā)了灶轰,同樣體現(xiàn)了依賴傳遞的作用谣沸。
????3.2 自動配置原理解析:
????????上面配置文件存在大量的以Confifiguration為結(jié)尾的類名稱,這些類就是存有自動配置信息的類笋颤,而SpringApplication在獲取這些類名后再加載