Spring Boot入門(一)Spring Boot+IDEA+JDK1.8開發環境和第一個專案的搭建,附所需資源連結
前言
博主第一次瞭解Spring Boot 這個框架,之前的時候就一直對這個框架心馳神往,如今剛開始學習這個框架,把學習歷程和過程中遇到的問題和解決方法記錄下來,與大家一起分享!
關於Spring Boot
Spring Boot 是由 Pivotal 團隊提供的全新框架,其設計目的是用來簡化新 Spring 應用的初始搭建以及開發過程。該框架使用了特定的方式來進行配置,從而使開發人員不再需要定義樣板化的配置。採用 Spring Boot 可以大大的簡化你的開發模式,所有你想整合的常用框架,它都有對應的元件支援。
Spring Boot特性
- 使用 Spring 專案引導頁面可以在幾秒構建一個專案
- 方便對外輸出各種形式的服務,比如:REST API, WebSocket, Web, Streaming, Tasks
- 非常簡潔的安全策略整合
- 支援關係資料庫和非關係資料庫
- 支援執行期內嵌容器,如:Tomcat, Jetty
- 強大的開發包,支援熱啟動
- 自動管理依賴
- 自帶應用監控支援各種IED,如:IntelliJ IDEA 、NetBeans
學習網站
開發環境的部署
作業系統:Windows 10
為部署Spring Boot
專案,我們需要的工具有:IDE:IntelliJ IDEA安裝包,JDK安裝包;
如果你需要部署的專案需要連線資料庫的話還需要:MySQL安裝包,Navicat For MySQL。
因為IDEA不用額外配置Maven,所以推薦大家使用!
安裝IntelliJ IDEA:
可以使用學生註冊獲得免費版,也可以通過下面給出的破解碼進行破解。
IntelliJ IDEA:https://www.jetbrains.com/idea/download/#section=windows
破解碼: http://idea.lanyus.com/
安裝配置JDK:
JDK版本要求7以上,推薦使用8;
JDK:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
配置的具體過程也就是一路next就行了;
安裝MySQL:
如果需要進行資料庫相關操作,配置MySQL的時候就得注意了,這裡分兩種情況,如果你電腦上已經安裝過,類似與XAMPP這種集成了MySQL的程式,初始的3306埠會被佔用(如果你有XAMPP這種集成了MySQL的程式也可以直接用不用額外的安裝了)。
如果在安裝過程中埠被佔用,你更換了埠,記得在專案的配置中更改對應的賬號密碼和埠號。
MySQL8.0下載地址:https://dev.mysql.com/downloads/windows/installer/
獲得第一個Spring Boot專案
- 通過Speing Initializr 獲取第一個基礎框架:
1.1 這裡:https://start.spring.io/
1.2 選擇構建工具Maven Project
、Spring Boot版本1.5.18以及一些工程基本資訊,注意開啟最下方的Switch to the full version
,選擇Web模組,可參考下圖所示:
如果不選擇web模組,則專案不會自動引入spring-web
和spring-webmvc
這兩個jar包,pom.xml
中也不會自動生成web模組,導致很多不必要麻煩。
1.3 點選Generate Project
下載專案壓縮包
- 解壓專案包,並用IDE以
Maven
專案匯入
1.1 選單中選擇File–>New–>Project from Existing Sources…
1.2 選擇解壓後的專案資料夾,點選OK
1.3 點選Import project from external model並選擇Maven,點選Next到底為止。
1.4 若你的環境有多個版本的JDK,注意到選擇Java SDK的時候請選擇Java 7以上的版本
專案結構解析:
通過上面步驟完成了基礎專案的建立,如圖所示,Spring Boot的基礎結構共三個檔案(具體路徑根據使用者生成專案時填寫的Group所有差異):
- src/main/java下的程式入口: HelloApplication
- src/main/resources下的配置檔案:application.properties
- src/test/下的測試入口:HelloApplicationTests
編寫Hello服務:
在com.example.hello
檔案處右鍵生成如上圖所示的Controller
檔案,並在檔案中生成helloController
類;
在類中編寫如下程式碼:
package com.example.hello.Controller;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RequestParam;
import org.springframework.web.bind.annotation.RestController;
@RestController
@RequestMapping("/hello")
public class helloController {
@RequestMapping
public String hello() {
return "Hello Spring-Boot";
}
@RequestMapping("/info")
public Map<String, String> getInfo(@RequestParam String name) {
Map<String, String> map = new HashMap<>();
map.put("name", name);
return map;
}
@RequestMapping("/list")
public List<Map<String, String>> getList() {
List<Map<String, String>> list = new ArrayList<>();
Map<String, String> map = null;
for (int i = 1; i <= 5; i++) {
map = new HashMap<>();
map.put("name", "YIDA-" + i);
list.add(map);
}
return list;
}
}
右鍵HelloApplication
選擇Run(HelloApplication)
執行程式,控制檯顯示 Started HelloApplication in 2.301 seconds (JVM running for 3.41)
即成功啟動。
在瀏覽器中輸入url:
http://localhost:8080/hello
輸出:Hello Spring-Boot
http://localhost:8080/hello/info?name=YIDA
輸出:{“name”:”YIDA”}
http://localhost:8080/hello/list
輸出:[{“name”:”YIDA-1”},{“name”:”YIDA-2”},{“name”:”YIDA-3”},{“name”:”YIDA-4”},{“name”:”YIDA-5”}]
–
最後
如果出現預設8080埠被佔用的問題,可能由於被其他程式佔用或者被你以前生成的spring-boot
專案佔用了埠,可以通過在application.properties
中設定將埠更改: