在開始瞭解Spring Boot以前,咱們須要先了解一下Spring,由於Spring Boot的誕生和Spring是息息相關的,Spring Boot是Spring發展到必定程度的一個產物,但並非Spring的替代品,Spring Boot是爲了讓程序員更好的使用Spring。說到這裏可能有些人會迷糊,那到底Spring和Spring Boot有着什麼樣的聯繫呢?html
在開始以前咱們先了解一下Spring,Spring的前身是interface21,這個框架最初是爲了解決EJB開發笨重臃腫的問題,爲J2EE提供了另外一種簡單又實用的解決方案,並在2004年3月發佈了Spring 1.0正式版以後,就引發了Java界普遍的關注和熱評,今後Spring在Java界勢如破竹迅速走紅,一路成爲Java界一顆璀璨奪目的明星,至今無可替代,也一度成爲J2EE開發中真正意義上的標準了,而他的創始人Rod Johnson也在以後聲名大噪,名利雙收,如今是一名優秀的天使投資人,走上了人生的巔峯。java
那既然Spring已經這麼優秀了,爲何還有了以後Spring Boot?node
由於隨着Spring發展的愈來愈火,Spring也慢慢從一個小而精的框架變成了,一個覆蓋面廣大而全的框架,另外一方面隨着新技術的發展,好比nodejs、golang、Ruby的興起,讓Spring逐漸看着笨重起來,大量繁瑣的XML配置和第三方整合配置,讓Spring使用者痛苦不已,這個時候急需一個解決方案,來解決這些問題。git
就在這個節骨眼上Spring Boot應運而生,2013年Spring Boot開始研發,2014年4月Spring Boot 1.0正式發佈,Spring Boot誕生之初就受到業界的普遍關注,不少我的和企業陸續開始嘗試,隨着Spring Boot 2.0的發佈,又一次把Spring Boot推向了公衆的視野,也有愈來愈多了的中大型企業把Spring Boot使用到正式的生產環境了。值得一提的是Spring官方也把Spring Boot做爲首要的推廣項目,放到了官網的首位。程序員
Spring Boot是由Pivotal團隊提供的全新框架,其設計目的是用來簡化Spring應用初始搭建以及開發過程。該框架使用了特定的方式來進行配置,從而使開發人員再也不須要定義樣板化的配置。Spring Boot其實就是一個整合不少可插拔的組件(框架),內嵌了使用工具(好比內嵌了Tomcat、Jetty等),方便開發人員快速搭建和開發的一個框架。golang
Spring Boot 2.0.4web
JDK 1.8spring
IDE:IntelliJ IDEA 2018.2json
注意:Spring Boot 2.x 要求Java8及以上版本,再也不支持Java六、Java7.windows
開發工具的選擇是每個人入門人員要經歷和選擇的,若是你是老手能夠忽略本節。
曾幾什麼時候Eclipse和MyEclipse統治了Java使用者,而現在,年復一年,絕不客氣的說,十年前我用MyEclipse 6.0到如今的MyEclipse 2017 我沒有感受有任何的變化,仍是同樣的皮膚,同樣的佈局,同樣卡的起飛使用感覺,即便按照Google的指引,優化了一堆配置以後,你也會發現收效甚微。
這讓我想起了曾經輝煌一時的諾基亞,到今天爲止它依然不知道本身作錯了什麼,但時過境遷當一個事物跟不上時代變化的節奏,它就會被新來更適合的事物所代替。不得不說我曾經也是MyEclipse的忠實熱愛者,而且對一我的來講一旦接受了某種事物,出於習慣的做用,一般改變也是很難的。
然而,到今天,我不得不認可IntelliJ IDEA從外觀到運行速度上要比MyEclipse好太多,尤爲是對Spring Boot的支持上,更好天做之合,因此IntelliJ IDEA是最好的選擇。
Spring Boot的版本選擇通常是這樣的,以下圖:
那版本號後面的英文表明什麼含義呢?
具體含義,以下文所示:
Spring Boot項目建立,有兩種方式:
說明:根據上面的「開發工具」章節得出,使用IDEA是最合適Spring Boot開發的語言,因此本節的全部內容都是使用IDEA完成的。
點擊File => New => Project => 選擇Spring Initializr,按引導操做便可,以下圖:
最終的項目目錄,以下圖:
如上圖所示,整個項目的目錄劃分仍是挺清晰的,其中有幾個重要的文件須要單獨說一下:
爲了演示方便,咱們在HelloSpringBootApplication.java直接添加一個訪問方法index,返回一個Hello信息,右鍵Run運行項目。
注意:
若是咱們須要傳遞參數,返回JSON格式的數據,應該這樣操做:重複上一步的操做,給類標識@RestController註解,便可返回JSON格式的信息,若是有參數直接在方法上添加參數的名稱,方法的參數名稱和url參數名稱必須是一一對應的相同的,否則獲取的參數值爲null,如圖所示:
總結:如圖所示,參數的傳遞順序是沒有關係的,不影響取值。
根據上面的提示,咱們已經完成了Spring Boot項目的建立和運行,可是有一個問題就是,每次修改代碼以後都須要從新啓動調試,代碼才能生效,比較麻煩,那有沒有一種簡單的方式呢?
答案是有的,那就是接下來要說的熱部署。
熱部署的配置以下:
第一步: 設置IDEA開啓項目自動編譯
File => Settings => Build,Execut,Deployment => Compiler 勾中右側Build Project automatically
以下圖:
第二步: 開啓項目運行時自動生成
ctrl + shift + a(windows系統),command+shift+alt+/(mac系統)
搜索命令:registry => 勾選compiler.automake.allow.when.app.running
以下圖:
最終的效果以下圖:
撩起來,掃描加入圈子