一、Spring和Spring Boot的區(qū)別
1、基于的概念不同
Spring是一個(gè)完整的企業(yè)級(jí)應(yīng)用程序開發(fā)框架,它提供了一系列的模塊,如Spring Core、Spring MVC、Spring Security等,可以用來(lái)構(gòu)建各種Java應(yīng)用程序。而Spring Boot則是基于Spring框架之上的一種開發(fā)框架,它主要是用于快速開發(fā)Spring應(yīng)用程序的。
2、環(huán)境配置不同
Spring的環(huán)境配置相對(duì)較為繁瑣,需要手動(dòng)進(jìn)行配置,例如配置數(shù)據(jù)源、配置日志、配置Servlet等等。而Spring Boot則是提供了一套自動(dòng)配置機(jī)制,通過(guò)約定大于配置的方式,可以減少開發(fā)者的環(huán)境配置工作量,從而快速構(gòu)建應(yīng)用程序。
3、啟動(dòng)方式不同
Spring的啟動(dòng)方式是通過(guò)XML配置文件或Java配置類來(lái)配置應(yīng)用程序,然后通過(guò)ApplicationContext來(lái)啟動(dòng)應(yīng)用程序。而Spring Boot則是通過(guò)內(nèi)嵌的Tomcat、Jetty、Undertow等容器,可以直接使用java -jar命令啟動(dòng)應(yīng)用程序。
4、依賴管理不同
在Spring中,需要手動(dòng)添加各種依賴庫(kù),例如Spring MVC、Spring Security等等。而在Spring Boot中,則是通過(guò)Spring Boot Starter依賴,可以一次性添加一系列的依賴庫(kù),從而簡(jiǎn)化依賴管理的工作量。
5、默認(rèn)配置不同
Spring Boot為開發(fā)者提供了一系列的默認(rèn)配置,例如日志、數(shù)據(jù)源等,大多數(shù)情況下可以直接使用默認(rèn)配置來(lái)構(gòu)建應(yīng)用程序。而在Spring中,需要手動(dòng)配置這些內(nèi)容,增加了開發(fā)者的工作量。