1. 程式人生 > >【springboot 入門篇】第0篇 spring-boot是什麼

【springboot 入門篇】第0篇 spring-boot是什麼

作為一個java程式設計師,如果你還不知道springboot,那你一定是落後了。

1. 什麼是springboot

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

spring大家都知道,boot是啟動的意思。所以,spring boot其實就是一個啟動spring專案的一個工具而已。從最根本上來講,Spring Boot就是一些庫的集合,它能夠被任意專案的構建系統所使用。

2. 為什麼會出現

以前在寫spring專案的時候,要配置各種xml檔案,還記得曾經被ssh框架支配的恐懼。隨著spring3,spring4的相繼推出,約定大於配置逐漸成為了開發者的共識,大家也漸漸的從寫xml轉為寫各種註解,在spring4的專案裡,你甚至可以一行xml都不寫。

雖然spring4已經可以做到無xml,但寫一個大專案需要茫茫多的包,maven配置要寫幾百行,也是一件很可怕的事。

現在,快速開發一個網站的平臺層出不窮,nodejs,php等虎視眈眈,並且指令碼語言漸漸流行了起來(Node JS,Ruby,Groovy,Scala等),spring的開發模式越來越顯得笨重。

在這種環境下,spring boot伴隨著spring4一起出現了。

3. 可以做什麼

那麼,spring boot可以做什麼呢?

spring boot並不是一個全新的框架,它不是spring解決方案的一個替代品,而是spring的一個封裝。所以,你以前可以用spring做的事情,現在用spring boot都可以做。

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

4. 優點

4.1 使編碼變得簡單

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

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的一些技術及應用,每週至少兩篇,歡迎關注。同時,由於我也是一個初學者,文章中難免有一些不正確的地方,希望各位批評指正,共同進步。

文章首發自簡書

相關推薦

springboot 入門0 spring-boot是什麼

作為一個java程式設計師,如果你還不知道springboot,那你一定是落後了。 1. 什麼是springboot Spring Boot是由Pivotal團隊提供的全新框架,其設計目的是用來簡化新Spring應用的初始搭建以及開發過程。該框架

OpenCV入門指南 影象的二值化

【OpenCV入門指南】第四篇 影象的二值化    在上一篇《【OpenCV入門指南】第三篇Canny邊緣檢測》中介紹了使用Canny運算元對影象進行邊緣檢測。與邊緣檢測相比,輪廓檢測有時能更好的反映影象的內容。而要對影象進行輪廓檢測,則必須要先對影象進行二值化,影象的二值化就是

OpenCV入門指南 灰度直方圖

                  直方圖(Histogram)又稱柱狀圖、質量分佈圖,是一種統計報告圖。直方圖由一系列高度不等的縱向條紋或線段表示資料分佈的情況。一般用橫軸表示資料型別,縱軸表示分佈情況。在影象處理上,直方圖是影象資訊統計的有力工具。  灰度直方圖是指對影象的灰度資訊進行統計,我們知道灰度圖

springboot 入門1 一個spring-boot程式(多種搭建方式)

學習一個新技術,先別管他的原理啊,流程啊,怎麼組織程式碼啊什麼的。直接從官網或者部落格抄一個小demo,自己親自跑一遍,然後再去看那一堆讓人頭皮發麻的講解,就能相對容易的看懂了。 初學者的態度應該是:不要問我為什麼,反正我就是可以這樣執行! 1. 建立一個spring boot專案可以使用

SpringBoot入門系列: 日誌輸出

Java程式,日誌輸出,我認為是第一位的,把它的應用拿到這裡。 Spring-Boot對日誌的處理,和我們往常的處理完全可以一致,通過logback.xml進行處理,即使有更先進的東西,我們也不用去管它。 這裡,為了簡便,我們任然使用前一篇的工程spring-boot-sa

屌絲程式的口才逆襲演講稿50:程式設計師們請看看外面的世界吧張振華.Jack

演講稿主題:《程式設計師們請看看外面的世界吧》                    --作者:張振華Jack     大家都知道我是一個程式設計師,幾年下來認識了最典型的三個程式設計師。    

屌絲程式的口才逆襲演講稿50:兩個年輕人掙錢的故事 張振華.Jack

騏驥一躍,不能十步。駑馬十駕,功在不捨。讓我們一起來見證堅持的力量。不知道自己能堅持多久,但我相信堅持就是力量。Java高階交流群:240619787; 演講稿主題:《兩個年輕人掙錢的故事》

SpringBoot入門系列: Spring Boot的測試

Spring Boot的測試,和普通專案的測試類同,可以繼續使用我們熟悉的測試工具。當然,這裡的測試,主要還是後臺程式碼的測試。 主要需要注意的地方僅有三點: 1、依賴包的引入:pom.xml中僅依賴spring-boot-starter-test,它把相關的依賴全部引入。 2、在測試類上的註解,常

SpringBoot入門系列: redis

一,準備工作,建立spring-boot-sample-redis工程 1、http://start.spring.io/      A、Artifact中輸入spring-boot-sample-redis      B、勾選Web下的web      C、勾選NOSQL

SpringBoot入門系列: JPA mysql

一,準備工作,建立spring-boot-sample-mysql工程 1、http://start.spring.io/      A、Artifact中輸入spring-boot-sample-mysql      B、勾選Web下的web      C、勾選SQL下

WLAN從入門到精通-基礎7期——AP上線過程

【轉自】http://support.huawei.com/huaweiconnect/enterprise/thread-218201.html 話說AP家有兄弟倆,哥哥胖AP(FAT AP)身強體健,單打獨鬥,無人能出其右,弟弟瘦AP(FIT AP)天生體質薄弱,獨自

WLAN從入門到精通-基礎11期——WLAN接入認證-Portal

【轉自】http://support.huawei.com/huaweiconnect/enterprise/thread-149867.html 1.1 無處不在的Portal認證 場景一:北京國際機場,巖鬆開啟iPhone搜尋Wi-Fi訊號,看到機場Wi-Fi登入

WLAN從入門到精通-基礎2期——WLAN射頻和通道

【轉自】http://support.huawei.com/huaweiconnect/enterprise/thread-257291.html 有這樣一個段子“嫁到俺村吧,俺村條件不賴,穿衣基本靠紡,吃飯基本靠黨,致富基本靠搶,娶妻基本靠想,交通基本靠走,通訊基本靠吼

124 一對一視頻錄制(三)及網站註冊 周四

一對一視頻錄制 網站註冊 關鍵詞:一對一視頻錄制,網站註冊一、一對一視頻錄制1.1 參考網址https://www.webrtc-experiment.com/RecordRTC/視頻錄制下載網址:https://github.com/muaz-khan/RecordRTC1.2 網頁錄制本地:ht

134 一對一視頻錄制及Ajax實現註冊周日

一對一視頻錄制 ajax實現註冊 關鍵詞:一對一視頻錄制, Ajax實現註冊一、一對一視頻錄制1.1 需要做的二、network2.1 Ajax實現註冊,如下:1)註冊html <h3>註冊請填寫:</h3> 用戶名:<input type

135 一對一視頻錄制(二)及必填項紅色星標及隱藏index.php及必選項不能為空 周一

一對一視頻錄制 必填項紅色星標 隱藏index.php 必選項不能為空 關鍵詞:一對一視頻錄制, 必填項紅色星標, 隱藏index.php, 必選項不能為空一、一對一視頻錄制1.1 需要做的二、我的網站2.1 必填項紅色星標代碼如下:<spanstyle="color:red;">

滲透課程-上傳漏洞之解析漏洞

文件的 配置文件 密碼 3.1 安裝目錄 ppa xxx 表單 圖片 上傳漏洞,我們為什麽要上傳?因為我們說過。在網站服務器上 肯定有一個Web容器,它裏面裝的就是Web應用程序 。某些腳本具有一定的執行和修改權限。這些權限可以說是服務器給客戶端訪問時提供的服務的同時提供的

滲透課程-體驗http協議的應用

load 簡單介紹 class 發送數據 數據交互 動手實驗 服務端 yun 屬於 之前我們都了解了,訪問網頁時,客戶端與服務端之間的請求與響應數據交互。本篇就淺談它的應用。 利用HTTP攔截突破前段驗證 比方說,我們在某個網頁提交某些數據(例如留言、上傳、插入xss等)

滲透課程-上傳漏洞之繞過上傳漏洞

ng- 相關 都是 http itl 了解 利用 存在 上傳 前一篇我們已經講過了上傳漏洞的解析漏洞,在某些時候,知道網站存在哪個解析漏洞,那麽我們就可以更好的利用上傳漏洞 這個知識點在我們前面就有粗略說過了(http://www.yuntest.org/index.php

滲透課程-上傳漏洞之文本編輯器上傳

fckeditor -m ive conf ima xheditor ger .org 圖片上傳 Oday 常見的文本編輯器有CKEditor,Ewebeditor,UEditor,KindEditor,XHeditor等。其包含的功能類似,比如,圖片上傳、視頻上傳、遠程下