百度搜 Springboot鹤树,SSM框架區(qū)別铣焊,大多說的都是
1.springboot一個(gè)應(yīng)用是一個(gè)可執(zhí)行jar
2.將原有的xml配置,簡化為java配置
他們說的確實(shí)沒錯罕伯,可是根本沒有說到本質(zhì)曲伊,百度說的這些,其實(shí)根本不是這兩個(gè)框架的區(qū)別追他,SSM框架也可以打包可執(zhí)行的jar坟募,也可以用注解代替 xml。
首先我們看 springboot 官網(wǎng)里對于 springboot 的描述:
我們可以看到最后一點(diǎn)確實(shí)提到了不需要 xml 配置文件,但最重要的是第三點(diǎn)单雾,springboot 提供的 starter 依賴為我們做了很多配置功能赚哗。
想知道 starter 依賴為我們做了哪些,我們首先看搭建 SSM 框架時(shí)硅堆,我們需要哪些步驟
1.加相關(guān)的 jar 包
2.配置 web.xml屿储,加載 Spring,SpringMVC
3.配置數(shù)據(jù)庫連接渐逃,spring 事務(wù)
4.配置加載配置文件的讀取够掠,開啟注解
5.配置日志文件
6.配置完成,部署 tomcat 調(diào)試
做這些步驟朴乖,大多都要花一到兩天的時(shí)間祖屏,你可能會疑惑,為什么6個(gè)步驟要花這么久买羞,關(guān)鍵在于建這個(gè)項(xiàng)目有很多難點(diǎn)袁勺,如 包之間的相互依賴,不確定中間有沒有沖突畜普,升級版本可能也會導(dǎo)致沖突期丰,bean 配置數(shù)據(jù)源,事務(wù)吃挑,切面時(shí)钝荡,依賴關(guān)系搞不清楚,這些都可能讓你花費(fèi)幾個(gè)小時(shí)甚至一天的時(shí)間舶衬。
下面是我們新建一個(gè) springboot 項(xiàng)目時(shí)的步驟埠通,在 idea 里新建項(xiàng)目(在這里我只演示 idea 創(chuàng)建 springboot 項(xiàng)目過程,其他 IDE 創(chuàng)建過程逛犹,百度都可以搜到)端辱,只需要下面三個(gè)步驟,我們就創(chuàng)建好了一個(gè) springboot 項(xiàng)目虽画,里面編寫代碼舞蔽,就可以直接運(yùn)行了。
選擇需要的依賴
看完這個(gè)柴梆,我們就要想混槐,springboot 為何能如此快的創(chuàng)建一個(gè)項(xiàng)目呢,難道它不需要配置 bean 嗎轩性,難道它不需要引入 jar 包嗎声登。當(dāng)然,這些都是需要的揣苏,它和 SSM 最大的區(qū)別就是悯嗓,這些配置 springboot 都幫我們做好了,我們才可以如此高效的創(chuàng)建一個(gè) springboot 項(xiàng)目卸察。
我們可以看到我們引入的三個(gè)依賴坑质,pom.xml 都幫我們加進(jìn)來了合武。就是這些 starter 依賴临梗,幫我們做了很多配置。
springboot 框架使用 starter 依賴主要幫我們做了兩點(diǎn):
1.引入相關(guān)的 jar
2.自動完成 bean 配置稼跳。
至于 starter 如何配置的 bean盟庞,怎么解決 bean 之間的沖突,篇幅原因汤善,我們下次再講什猖。
由此我們才看到 SSM 和 Springboot 的最大區(qū)別,所以下次面試官再問你這兩者的區(qū)別红淡,你可以這樣回答:
1.Springboot 將原有的 xml 配置不狮,簡化為 java 注解
2.使用 IDE 可以很方便的搭建一個(gè) springboot 項(xiàng)目,選擇對應(yīng)的 maven 依賴在旱,簡化Spring應(yīng)用的初始搭建以及開發(fā)過程
3.springboot 有內(nèi)置的 tomcat 服務(wù)器摇零,可以 jar 形式啟動一個(gè)服務(wù),可以快速部署發(fā)布 web 服務(wù)
4.springboot 使用 starter 依賴自動完成 bean 配置,桶蝎,解決 bean 之間的沖突遂黍,并引入相關(guān)的 jar 包(這一點(diǎn)最重要)
大家還知道什么不同點(diǎn),或者有什么疑惑的地方俊嗽,歡迎在評論區(qū)補(bǔ)充雾家,我們一起進(jìn)步!
歡迎工作一到五年的Java工程師朋友們加入Java高并發(fā): 957734884绍豁,
群內(nèi)提供免費(fèi)的Java架構(gòu)學(xué)習(xí)資料(里面有高可用芯咧、高并發(fā)、高性能及分布式竹揍、Jvm性能調(diào)優(yōu)敬飒、Spring源碼,MyBatis芬位,Netty,Redis,Kafka,Mysql,Zookeeper,Tomcat,Docker,Dubbo,Nginx等多個(gè)知識點(diǎn)的架構(gòu)資料)合理利用自己每一分每一秒的時(shí)間來學(xué)習(xí)提升自己无拗,不要再用"沒有時(shí)間“來掩飾自己思想上的懶惰!趁年輕昧碉,使勁拼英染,給未來的自己一個(gè)交代!