springboot 入門

1. 什麼是springboot

Spring Boot是由Pivotal團隊提供的全新框架,其設計目的是用來簡化新Spring應用的初始搭建以及開發過程。該框架使用了特定的方式來進行配置,從而使開發人員再也不須要定義樣板化的配置。經過這種方式,Spring Boot致力於在蓬勃發展的快速應用開發領域(rapid application development)成爲領導者。php

spring你們都知道,boot是啓動的意思。因此,spring boot其實就是一個啓動spring項目的一個工具而已。從最根本上來說,Spring Boot就是一些庫的集合,它可以被任意項目的構建系統所使用。java

2. 爲何會出現

之前在寫spring項目的時候,要配置各類xml文件,還記得曾經被ssh框架支配的恐懼。隨着spring3,spring4的相繼推出,約定大於配置逐漸成爲了開發者的共識,你們也漸漸的從寫xml轉爲寫各類註解,在spring4的項目裏,你甚至能夠一行xml都不寫。node

雖然spring4已經能夠作到無xml,但寫一個大項目須要茫茫多的包,maven配置要寫幾百行,也是一件很可怕的事。spring

如今,快速開發一個網站的平臺層出不窮,nodejs,php等虎視眈眈,而且腳本語言漸漸流行了起來(Node JS,Ruby,Groovy,Scala等),spring的開發模式愈來愈顯得笨重。數據庫

在這種環境下,spring boot伴隨着spring4一塊兒出現了。小程序

3. 能夠作什麼

那麼,spring boot能夠作什麼呢?api

spring boot並非一個全新的框架,它不是spring解決方案的一個替代品,而是spring的一個封裝。因此,你之前能夠用spring作的事情,如今用spring boot均可以作。tomcat

如今流行微服務與分佈式系統,springboot就是一個很是好的微服務開發框架,你可使用它快速的搭建起一個系統。同時,你也可使用spring cloud(Spring Cloud是一個基於Spring Boot實現的雲應用開發工具)來搭建一個分佈式的網站。springboot

4. 優勢

4.1 使編碼變得簡單

spring boot採用java config的方式,對spring進行配置,而且提供了大量的註解,極大地提升了工做效率。restful

4.2 使配置變得簡單

配置

spring boot提供許多默認配置,固然也提供自定義配置。可是全部spring boot的項目都只有一個配置文件:application.properties/application.yml。用了spring boot,不再用擔憂配置出錯找不到問題所在了。

4.3 使部署變得簡單

spring boot內置了三種servlet容器:tomcat,jetty,undertow。

容器

因此,你只須要一個java的運行環境就能夠跑spring boot的項目了。spring boot的項目能夠打成一個jar包,而後經過java -jar xxx.jar來運行。(spring boot項目的入口是一個main方法,運行該方法便可。 )

4.4 使監控變得簡單

spring boot提供了actuator包,可使用它來對你的應用進行監控。它主要提供瞭如下功能:

actuator

咱們將在後續文章中學習它。

5. 相關技術

5.1 微服務架構

微服務是一種架構風格,一個大型複雜軟件應用由一個或多個微服務組成。系統中的各個微服務可被獨立部署,各個微服務之間是鬆耦合的。每一個微服務僅關注於完成一件任務並很好地完成該任務。在全部狀況下,每一個任務表明着一個小的業務能力。

好比我要開發一個購票系統。就能夠簡單的拆分爲用戶管理微服務和售票系統微服務。兩個服務均可以獨立運行,都有本身的數據庫,他們之間經過restapi 進行通訊。

而spring boot就是搭建微服務的一個很好的選擇。

5.2 restful

restful 是一種api的風格,後面的文章裏,會着重講解。spring boot能夠很方便的提供restful 風格的api。

5.3 spring cloud

微服務有不少優勢,固然也有一些挑戰。能夠參考這篇文章: 
微服務實戰(一):微服務架構的優點與不足

微服務通常都是運行在分佈式環境中的,這可不是簡單的寫一個ssm框架的小程序就能夠解決的,其中須要用到不少技術,好比負載均衡,反向代理,服務治理,配置管理,消息總線等,spring cloud提供了這些技術。而且,spring cloud全家桶是基於spring boot的。

以後會專門開一個spring cloud的專題。

6. 總結

來總結一下spring boot的特色。

獨立運行的Spring項目

Spring Boot能夠以jar包的形式進行獨立的運行,使用:java -jar xx.jar 就能夠成功的運行項目,或者在應用項目的主程序中運行main函數便可;

內嵌的Servlet容器

咱們上面已經講過。

提供starter簡化Manen配置

spring boot提供各類starter,其實就是一些spring bao的集合,只不過spring boot幫咱們整合起來了而已。

starter

上圖只是其中的一部分,還有不少其餘的。經過這些starter也能夠看得出來,spring boot能夠和其餘主流的框架無縫集成,好比mybatis等。因此,你不須要擔憂你想用的技術spring boot不支持。

自動配置Spring,無xml文件

Spring Boot會根據咱們項目中類路徑的jar包/類,爲jar包的類進行自動配置Bean,這樣一來就大大的簡化了咱們的配置。固然,這只是Spring考慮到的大多數的使用場景,在一些特殊狀況,咱們還須要自定義自動配置(就在那惟一的配置文件裏,並且它不是xml文件!)。

應用監控

Spring Boot提供了基於http、ssh、telnet對運行時的項目進行監控。


springboot 入門篇將會從頭開始,介紹spring boot的一些技術及應用,每週至少兩篇,歡迎關注。同時,因爲我也是一個初學者,文章中不免有一些不正確的地方,但願各位批評指正,共同進步。

文章首發自簡書

spring boot 官網:http://projects.spring.io/spring-boot/ 
spring boot 中文網:https://springcloud.cc/

參考文章:http://www.csdn.net/article/a/2016-05-12/15838098 
*Spring Boot*_百度百科

相關文章
相關標籤/搜索