SpringBoot是什么
SpringBoot是用來簡(jiǎn)化新Spring應(yīng)用的初始搭建以及開發(fā)過程,該框架使用了特定的方式來進(jìn)行配置,從而使開發(fā)人員不再需要定義樣板化的配置线衫,達(dá)到了事半功倍的效果啡氢。
SpringBoot官網(wǎng)地址:https://spring.io/
- 同類技術(shù)
- SpringMVC(Spring MVC屬于SpringFrameWork的后續(xù)產(chǎn)品,已經(jīng)融合在Spring Web Flow里面掰曾。Spring 框架提供了構(gòu)建 Web 應(yīng)用程序的全功能 MVC 模塊)
- SSM(SSM(Spring+SpringMVC+MyBatis)框架集由Spring旭蠕、MyBatis兩個(gè)開源框架整合而成(SpringMVC是Spring中的部分內(nèi)容)。常作為數(shù)據(jù)源較簡(jiǎn)單的web項(xiàng)目的框架)
- SSH(SSH在J2EE項(xiàng)目中表示了3種框架旷坦,即 Spring + Struts +Hibernate掏熬。 Struts對(duì)Model,View和Controller都提供了對(duì)應(yīng)的組件秒梅。Spring是一個(gè)輕量級(jí)的控制反轉(zhuǎn)(IoC)和面向切面(AOP)的容器框架)
對(duì)比同類的優(yōu)缺點(diǎn)
- 優(yōu)點(diǎn)
-
使編碼變得簡(jiǎn)單
spring boot采用java config的方式旗芬,對(duì)spring進(jìn)行配置,并且提供了大量的注解捆蜀,極大地提高了工作效率 -
使配置變得簡(jiǎn)單
spring boot提供許多默認(rèn)配置疮丛,當(dāng)然也提供自定義配置。但是所有spring boot的項(xiàng)目都只有一個(gè)配置文件:application.properties/application.yml辆它。用了spring boot誊薄,再也不用擔(dān)心配置出錯(cuò)找不到問題所在了 -
使部署變得簡(jiǎn)單
spring boot內(nèi)置了三種servlet容器:tomcat,jetty锰茉,undertow呢蔫。所以,你只需要一個(gè)java的運(yùn)行環(huán)境就可以跑spring boot的項(xiàng)目了 -
使監(jiān)控變得簡(jiǎn)單
spring boot提供了actuator包飒筑,可以使用它來對(duì)你的應(yīng)用進(jìn)行監(jiān)控而且提供了很多額外功能
-
使編碼變得簡(jiǎn)單
- 缺點(diǎn)
- 將現(xiàn)有或傳統(tǒng)的Spring Framework項(xiàng)目轉(zhuǎn)換為Spring Boot應(yīng)用程序是一個(gè)非常困難和耗時(shí)的過程咐刨。它僅適用于全新Spring項(xiàng)目
- 集成度較高,使用過程中不太容易了解底層
組成部分
- spring-boot模塊
該模塊提供了一些特性用來支持springboot中其他模塊 - spring-boot-autoconfigure模塊
springboot可以依據(jù)classpath里面的依賴的內(nèi)容來自動(dòng)配置bean到IOC容器扬霜,但是要開啟這個(gè)自動(dòng)配置功能需要添加@EnableAutoConfiguration注解 - spring-boot-starters模塊
Starters是一組可以方便使用的依賴描述定鸟,starter里面一般只有一個(gè)POM文件,pom文件里面添加了Spring框架和一些相關(guān)的功能模塊的依賴配置 - spring-boot-actuator模塊
SpringBoot還提供了許多附加功能著瓶,可以幫助我們?cè)趹?yīng)用程序部署到生產(chǎn)環(huán)境后對(duì)其進(jìn)行監(jiān)控和管理 - spring-boot-cli模塊
Spring Boot CLI是一個(gè)命令行公交用來快速搭建一個(gè)spring原型應(yīng)用联予,并且可以運(yùn)行Groovy腳本 - spring-boot-loader模塊等
Spring Boot Loader模塊允許我們使用java -jar archive.jar運(yùn)行包含嵌套依賴的jar或者war文件
為什么會(huì)出現(xiàn)
- 解決什么問題
spring boot并不是一個(gè)全新的框架,它不是spring解決方案的一個(gè)替代品,而是spring的一個(gè)封裝沸久。所以季眷,你以前可以用spring做的事情,現(xiàn)在用spring boot都可以做卷胯。
現(xiàn)在流行微服務(wù)與分布式系統(tǒng)子刮,springboot就是一個(gè)非常好的微服務(wù)開發(fā)框架,你可以使用它快速的搭建起一個(gè)系統(tǒng)窑睁。同時(shí)挺峡,你也可以使用spring cloud(Spring Cloud是一個(gè)基于Spring Boot實(shí)現(xiàn)的云應(yīng)用開發(fā)工具)來搭建一個(gè)分布式的網(wǎng)站 - 沒有這個(gè)技術(shù)前怎么做
以前在寫spring項(xiàng)目的時(shí)候,要配置各種xml文件担钮。隨著spring3橱赠,spring4的相繼推出,約定大于配置逐漸成為了開發(fā)者的共識(shí)箫津,大家也漸漸的從寫xml轉(zhuǎn)為寫各種注解狭姨,在spring4的項(xiàng)目里,甚至可以一行xml都不寫苏遥,雖然spring4已經(jīng)可以做到無xml饼拍,但寫一個(gè)大項(xiàng)目需要茫茫多的包,maven配置要寫幾百行田炭,也是一件很可怕的事
怎么做
- 快速上手視頻
- 官方示例
- 寫demo
- demo github代碼地址:https://github.com/Wuyou1999/Spring-Boot-Study
- 看開元代碼