小編帶您學習springboot
一般而言,寫個Javaweb應用搭建環境都可能要幾十分鐘,下載個tomcat伺服器,再加上各種xml配置等等,很煩躁,而且每個web應用的配置還差不多,都是什麼web.xml,application.xml等等(註解版就是各種配置類@Configuration),既然每個web應用很多配置都一樣,那為什麼還要每次都動手寫或者copy一份呢?假如有什麼框架能夠幫我們把常用的東西都配置好,有預設值,然後我們只需要關注一些邏輯的編寫,那不就大大簡化了程式設計效率嗎?
所以就有了springboot,這裡springboot的官方定義就不贅述了,簡而言之,就是讓你在一分鐘就能寫出helloword的web應用。
並且用springboot,就不用特別下載toncat,配置環境變數啊什麼鬼一系列常規操作,springboot裡面自動的有tomcat伺服器(後期還可以手動指定伺服器),而且springboot寫的web應用可以打包成一個jar包(內建了tomcat),這就相當於一處編譯,處處執行。在任何裝有jdk(或者jre)的電腦都可以執行這個web應用。
假設我的jar包(HelloWorld.jar)在D:\java 你只需要在命令列,切換到該目錄,執行java -jar HelloWorld.jar 就ok了,然後在瀏覽器網址可以測試了。
學前準備
學springbootboot的各位應該是會maven的吧,maven3及以上版本,jdk1.7及以上版本,我用的是idea,用eclipse也行,憑個人愛好。
基本設定
maven倉庫:idea(maven)------maven本地倉庫------距離你很遠的遠端倉庫
用了maven管理jar包,當專案需要用jar包時,首先是會在你的本地倉庫裡面找看有沒有,有的話就直接用,沒有的話就去遠端倉庫下載到本地庫,用本地庫的。
我的maven下載位置D:\java\apache-maven-3.5.4
一般maven預設本地庫目錄(win7)C:\Users\asus.m2\repository,重點是.m2\repository,前面是我自己的使用者名稱,最好自己設定本地庫位置,解放C盤空間,不然每次下載的東西都放在C盤,這是我們不喜歡看到的。
第一步:我把本地庫就放在maven目錄裡面。首先我在maven安裝目錄 D:\java\apache-maven-3.5.4下新建目錄repository
第二步:D:\java\apache-maven-3.5.4\conf下有個settings.xml,開啟,修改這幾項:本地庫位置,遠端庫位置(就是你要下載jar包的地方,這裡用阿里雲映象,聽說比較快),還有和maven繫結的jdk版本,這裡用的是1.8
到這裡,maven本地庫位置ok。
--------------------------------------------【下面發現問題,修改一下】--------------------------------------------------
注意注意,下面設定的本地庫是一次性的,也就是說每次建立新專案時都要設定一次(後來發現的)
切換到IDEA,file---settings---Build Execution Deployment----BuildTools---Maven,然後如下設定,這就是指定idea和maven版本,xmisettings,本地庫的繫結(這裡有的人會有問題,本地庫繫結沒用jar包依舊是下載到C盤,或者等下又跳回了原來的設定,我的解決辦法是:前面設定本地庫位置settings.xml裡面的雙斜線;下圖設定完之後記得點選右下角apply,ok;多試幾次;)
要想一次性解決問題,必須要在這裡設定,一定要在這裡
到此為止,基本的搭建環境就成功了,一些細節,比如maven哪裡下載,環境變數配置,idea和jdk版本的繫結就不說了,很容易。
最基本的HelloWorld(先不自動生成springboot模板專案)
1.新建一個基本的maven專案
file---new---project---Maven---next,輸入一些基本的組id,模組id。。。一直點就是了,maven專案建立完成了
2.如上圖目錄,這個類有一個最基本的main方法,想必大家不會陌生了,這就是springboot應用的“門”,走過這個門才能進入springboot的世界(記住,只要是springboot應用的包,都必須要和這個類所在目錄同級或者子包下面)
還有一個簡單的controller,直接輸出hello
3.pom檔案的依賴
這個依賴還有一個父依賴spring-boot-dependencies,然後在spring-boot-dependencies裡面放了預設的一些其他元件的版本控制,有興趣的可以ctrl+滑鼠左鍵點進去看看
所以我們看到的所有pom裡面的依賴都沒有版本控制,只要下圖這個依賴的版本控制好,其他元件的版本就確定了。
這兩個依賴,第一個是一個web場景下的依賴,會匯入所有跟web相關的所有jar包;第二個依賴是一個外掛依賴,這個依賴的作用就是可以將當前的springboot應用打包成一個jar包必須的一個依賴。
到此為止,一個基本的helloworld就寫出來了,直接啟動那個main方法,整個springboot應用就跑起來了,在瀏覽器下輸入localhost:8080/hello,回車就看到了hello了
補充小知識:將springboot打包成jar包
第一步:點選左下角的小正方形,在最右邊喚出工具欄,有工具欄的話就不用點選這個了
第二步:點選Maven Projects,選中你的專案
第三步:控制檯輸出這個表示打包成功。路徑也有,右邊的target檔案下面,將jar包複製到桌面(嘿嘿,放在桐人的頭上~)
第四步:開啟cmd,切換到桌面目錄,java -jar springboot-repeat01-1.0-SNAPSHOT.jar
結果卻報錯,emmmmmmm。。看錯誤資訊是不支援版本,,懵逼了,於是想到了最牛逼的工具,百度一下,啪啪啪,一分鐘之後找到答案了,原來是我的jdk版本的問題,我電腦上的jdk有兩個,1.7和1.8,我環境變數配置的是1.7的,但是這個springboot應用是1.8環境的,機智的我趕緊去切換了一下jdk的環境變數
切換jdk環境之後,然後再java -jar springboot-repeat01-1.0-SNAPSHOT.jar,成功
成功之後。瀏覽器輸入url,ok
後記:喝一口毒雞湯----寫程式碼碰到bug是很正常的事,要善於利用自己身邊的工具,個人推薦自己獨立解決問題,能不問別人就不問,因為當你自己獨立解決問題解決多了,以後再出現什麼bug,你一眼就能大概看出問題出在哪裡,怎麼解決,從哪裡入手。