在準備好開發環境以後,你確定有這樣的疑惑,我如何新建一個項目?擱在之前,通常是經過IDE的「New Project」菜單,跟着引導一步一步來建立項目。如今Spring Boot提供了一種更加統一的方式,使用Spring Initializr(start.spring.io)。css
Spring Initializr能夠根據你設置的選項,生成一個新的項目,並下載到本地,你導入IDE就能夠開發了。頁面上第一個選項是選擇構建工具,使用Maven仍是Gradle。第二項選擇語言,大部分用的都是Java。第三項選擇使用哪一個Spring Boot版本,通常來講用的都是最新的正式版,本文發佈時,版本仍是2.1.5。若是你須要的版本上面沒有列出來,能夠先生成個項目,而後再在配置文件裏改爲你須要的版本。java
接下來須要填寫Group ID和Artifact ID,你可能會對這倆東西比較困惑。Group ID能夠填你的公司的域名反寫,跟Java包命名相似,Artifact ID能夠是當前項目的名稱,好比我要寫個工具類項目,個人域名是fookwood.com,那麼我會把Group ID設置爲com.fookwood,把Artifact ID設置爲tools。結合項目的版本號,這三者能夠直接定位到一個項目,在Maven中,groupId:artifactId:version能夠稱爲一個座標,在中央倉庫中,全部的庫都有惟一的座標。Gradle中也支持設置座標。web
若是你點擊圖片中的「Options」,能夠設置是用打jar包獨立運行,仍是打war包放到Tomcat或其餘容器中運行。你還能夠設置項目中Java類的包名,以及所使用的Java的版本。spring
最後一項任務就是添加依賴了,鑑於大部分人使用Spring Boot都是爲了開發web項目,爲了簡便,只添加一個依賴——Spring Web Starter。api
Spring Web Starter包含了Spring MVC,用來處理網絡請求的;還包含了內置Tomcat,這是jar包得以獨立運行的關鍵;另外還包含了JSON的支持,hibernate-validator和annotation-api的支持。網絡
至此,你就能夠點擊Spring Initializr底部的「Generate the project」按鈕來下載你配置好的項目了,你下載到的會是一個zip壓縮包,解壓便可,開箱即用。app
按理說,接下來我該演示如何把項目導入IDE了,我偏不。curl
Spring Initializr還提供了接口,若是你在命令行裏運行 curl https://start.spring.io
會獲得一份指南,告訴你如何經過一個命令生成項目,在網頁上能夠配置的選項,在命令行裏也能夠配置spring-boot
有了接口,你就沒必要再跑去打開網站了。可是我相信,你必定以爲這種用命令行的方式很是不便,明明點幾下就好了,爲什麼還要讓我搞清楚那麼多參數怎麼用?幸運的是,IntelliJ IDEA已經經過這個接口集成了Spring Initializr(固然STS和Netbeans也集成了),你能夠經過「new」 -> 「project」來新建項目:工具
接下來是配置項目信息和選擇項目依賴
點擊上圖中Next以後,Spring Initializr的任務就完成了,接下來選擇項目目錄:
完成以後,IDEA會把項目的zip包下載下來,解壓到上圖你指定的目錄裏,而後自動地打開項目(也能夠說是導入項目),打開的時候會有提示框:
若是你知道圖中的這些東西是幹嗎的,能夠改改,不知道就別管,直接點OK。
至此,你的項目就算建立完了,也在IDE中打開了,在你運行項目以前,要先看看項目的目錄裏都有啥:
最核心的就是src目錄,src/main/java裏面放置你全部的Java代碼,src/main/resources裏面放你的css,js,模板文件,配置文件等等,其中application.properties是Spring Boot的核心配置文件,你會頻繁地使用它。src/test/java裏面都是測試相關的代碼。
build.gradle是Gradle的配置文件,你最經常使用到它的場景就是修改依賴,好比你想引入Guava,添加一行代碼就行,這也是Gradle比Maven清晰簡潔的地方:
若是你之後項目中會涉及多個project,那你可能須要使用settings.gradle。
gradle文件夾,gradlew和gradlew.bat文件都是和Gradle Wrapper(簡稱wrapper)相關的。考慮到不少人獲取到項目以後還得再去下載Gradle,Gradle官方提供了wrapper,意在避免用戶再去安裝,若是你在項目根目錄執行 ./gradlew tasks
, 它會自動下載Gradle並運行,若是以前已經下載過了,那就直接展現出全部能夠執行的任務。這和直接執行 gradle tasks
的效果是差很少的,只不事後者是你係統裏的命令,前者是自動下載的,具體下載的是哪一個版本,你能夠查看gradle文件夾。
其實這一篇我原本是想寫建立和運行的,可是寫着寫着感受東西愈來愈多,那就乾脆只寫建立項目吧。整體來說,這個過程並無什麼複雜的,你一步一步作下來是能夠完成的,若是你遇到一些小細節,跟我描述的不同,能夠留言,我來解答。