知識點匯總(五)SpringbBoot

SpringBoot

Spring?是一個“引擎”;

Spring MVC?是基于Spring的一個?MVC?框架;

Spring Boot?是基于Spring4的條件注冊的一套快速開發(fā)整合包。

spring boot只是一個配置工具,整合工具,輔助工具。

Spring?框架就像一個家族,有眾多衍生產(chǎn)品例如?boot、security、jpa等等。但他們的基礎(chǔ)都是Spring?的ioc和?aop,ioc?提供了依賴注入的容器,?aop解決了面向橫切面的編程,然后在此兩者的基礎(chǔ)上實現(xiàn)了其他延伸產(chǎn)品的高級功能。SpringBoot與SpringMVC的區(qū)別

Spring MVC提供了一種輕度耦合的方式來開發(fā)web應(yīng)用。它是Spring的一個模塊,是一個web框架。通過Dispatcher Servlet, ModelAndView?和?View Resolver,開發(fā)web應(yīng)用變得很容易。解決的問題領(lǐng)域是網(wǎng)站應(yīng)用程序或者服務(wù)開發(fā)——URL路由、Session、模板引擎、靜態(tài)Web資源等等。

Spring Boot實現(xiàn)了自動配置,降低了項目搭建的復(fù)雜度。它主要是為了解決使用Spring框架需要進(jìn)行大量的配置太麻煩的問題,所以它并不是用來替代Spring的解決方案,而是和Spring框架緊密結(jié)合用于提升Spring開發(fā)者體驗的工具。同時它集成了大量常用的第三方庫配置(例如Jackson, JDBC, Mongo, Redis, Mail等等),Spring Boot應(yīng)用中這些第三方庫幾乎可以零配置的開箱即用(out-of-the-box)。

Spring Boot只是承載者,輔助你簡化項目搭建過程的。如果承載的是WEB項目,使用Spring MVC作為MVC框架,那么工作流程和你上面描述的是完全一樣的,因為這部分工作是Spring MVC做的而不是Spring Boot。

對使用者來說,換用Spring Boot以后,項目初始化方法變了,配置文件變了,另外就是不需要單獨安裝Tomcat這類容器服務(wù)器了,maven打出jar包直接跑起來就是個網(wǎng)站,但你最核心的業(yè)務(wù)邏輯實現(xiàn)與業(yè)務(wù)流程實現(xiàn)沒有任何變化。

為什么配置簡單?

首先,了解它是何如加載配置文件的。先說結(jié)論:springboot加載配置文件是通過listener監(jiān)聽器實現(xiàn)的。

SpringBoot的啟動類
run()方法

在容器啟動完成后會廣播一個SpringApplicationEvent事件,而SpringApplicationEvent事件是繼承自ApplicationEvent事件的,代碼如下:(下面還有一堆,有興趣請深入了解點擊查看詳細(xì),感謝這位老哥的分享)最終讀到了aplication.properties這個文件

ps:文件類型默認(rèn)的有四種:properties、xml、yml、yaml


aplication.properties


aplication.properties

通過設(shè)置spring.profiles.active加載對應(yīng)的配置文件 aplication-dev.properties


aplication-dev.properties

配置文件包括了:數(shù)據(jù)庫鏈接、

mybatis:掃描mapper.xml

mybatis

redis、AMQ

redis、AMQ

分頁、上傳、日志


分頁、上傳、日志

日志的詳細(xì)配置

啟動時的控制臺輸出


綜上,僅靠這個配置文件就完成了SpringBoot的配置

如果項目采用Maven,則還需要配置pom.xml


springboot中使用springmvc

要在springboot中使用springmvc,只需要引入spring-boot-starter-web即可(前提是項目的pom文件是繼承自spring-boot-starter-parent)SpringMVC的配置

項目的依賴下包均靠Maven來管理

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容