其實spring boot官方已經提供了用於開發spring boot的定製版eclipse(STS,Spring Tool Suite)直接下載使用便可,但考慮到可能有些小夥伴不想又多裝個eclipse,咱們這裏仍是介紹使用原版eclipse再在其上安裝spring插件進行開發的方法。html
STS下載地址:http://spring.io/tools3/sts/alljava
jdk一是用於運行eclipse,二是用於開發spring boot項目。web
安裝方法可參考連接:http://www.javashuo.com/article/p-elegyipj-kr.htmlspring
jdk官方下載地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html瀏覽器
eclipse可用於開發多種語言的項目,選擇Eclipse IDE for Java EE Developers版本下載,解壓便可(Eclipse IDE for Java Developers版本應該也能夠)tomcat
官方下載地址:https://www.eclipse.org/downloads/packages/oracle
打開eclipse----菜單----Help----Eclipse Marketplace----在Find搜索框中輸入spring----回車搜索app
注意這裏不是咱們點Finish就安裝完成了,注意看eclipse右下角installing software到百分之百時纔是安裝完成,安裝完成後會提示重啓以下選擇重啓便可。框架
(一是插件比較大二是外國網站網速比較慢三是在線安裝感受就是常常有問題,其實不太推薦在線安裝;可是離線安裝又有問題沒搞定因此只能演示在線安裝)eclipse
打開eclipse----菜單----File----New----Project(插件裝成功後纔會有Spring Boot項)
填好項目信息,點擊next(這裏本質仍是到https://start.spring.io/頁面生成項目)
finish以後咱們就獲得了一個spring boot項目,其目錄結構以下(此時全部東西都是自動生成的未作任何改動)
在上一步中咱們已經獲得了一個spring boot項目,下邊咱們以在此基礎上實現一個rest請求做爲開發演示
首先咱們按習慣在demo目錄下,建立model文件夾(用於存放model)、dao文件夾(用於存放數據訪問文件)、controller文件夾(用於存放控制器)、service(用於存放主要的程序邏輯代碼)
(不過下面爲了簡單起見dao和service不用到,只使用model,而後controller直接返回結果。)
在model文件夾建立Test.java文件,寫入如下內容:
package com.example.demo.model; public class Test { private final long id; private final String content; public Test(long id, String content) { this.id = id; this.content = content; } public long getId() { return id; } public String getContent() { return content; } }
在controller文件夾建立TestController.java文件,寫入如下內容:
(該內容主要是對test和test1兩個請求進行響應,test和test1兩個請求的返回結果是同樣的寫兩個是爲了強調一個Controller文件就能夠處理多個請求,不用每一個請求都建一個Controller)
package com.example.demo.controller; import java.util.concurrent.atomic.AtomicLong; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.web.bind.annotation.RequestParam; import org.springframework.web.bind.annotation.RestController; import com.example.demo.model.Test; @RestController public class TestController { private static final String template = "Hello, %s!"; private final AtomicLong counter = new AtomicLong(); @RequestMapping("/test") public Test dealTest(@RequestParam(value="name", defaultValue="World") String name) { return new Test(counter.incrementAndGet(), String.format(template, name)); }@RequestMapping("/test1") public Test dealTest1(@RequestParam(value="name", defaultValue="World") String name) { return new Test(counter.incrementAndGet(), String.format(template, name)); } }
完成後項目結構以下:
選擇項目----右鍵----Run As----Spring Boot App
控制檯選項卡會打印運行日誌,以下咱們能夠看到監聽於本地8080端口
又因爲咱們前面建立了test請求的響應,此時經過瀏覽器訪問http://localhost:8080/test,響應結果以下:
在當前項目中但凡咱們對項目文件有所修改,要修其生效都要手動從新運行;好比咱們將請求修從test修改成modify,要此修改生效就得手動從新運行這是比較麻煩的。
若是能修改保存以後系統本身從新運行那是很是好的,這就是所謂的熱部署,而spring boot經過簡單配置就能實現熱部署。
首生,打開項目根目錄下的pom.xml文件,在<dependencies></dependencies>標籤內加入如下內容:
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-devtools</artifactId> <optional>true</optional> </dependency>
其次,eclipse菜單----Project菜單----確保Build Automatically處於鉤選狀態。
經此兩步,每當選擇「保存」eclipse檢測到項目有修改就會自動從新構建項目免去手動重啓的麻煩。
若是咱們去看ssh的書(好比《Struts2 Spring Hibernate框架技術與項目實戰》)就會看到厚厚的一本,而後其中很大部份內容是教你到哪下載什麼文件放到哪裏而後要修改哪些配置文件----反正就是說搭建ssh開發環境就是一件旁雜的事情。
但到spring boot中一是spring boot其實能夠實現ssh的做用消滅了一堆集成配置,二是自帶tomcat消滅了tomcat的安裝配置,三是自身支持REST,四是maven/gradle簡化了jar文件的下載安裝及一些配置,經過這幾點確實實現了其「簡單」的口號。
網上總存在着這樣的感慨----技術迭代得太快了----這大概是asp/dephi/C++年代的前輩聲音;而伴隨着這種感慨會有一種批評----技術的本質仍是不怎麼變只要掌握本質再花點時間就能掌握新技術----這大概是移動互聯網興起以來進入計算機的新人發出的聲音。
本質未變能夠理解,正如咱們這裏只要會寫ssh那麼只須要花點時間就能寫spring boot。但所謂「花點時間」讓我想起之前學數學的時候對某個解法不是很熟練,而後想這應該沒多大關係到考試時只要多花兩分鐘仍是能算出來,然而到考試的時候發現並擠不出那所謂的兩分鐘。生活也許不像考試限定你一兩個小時,但生活也不僅是寫程序天天能夠有時間學習。
這裏最壞的時代,新的技術老是層出不窮讓人疲於奔命;這是最好的時代,規律愈來愈明顯文檔愈來愈清晰框架愈來愈強大。最壞的時代沒法抗拒,只能用最好的時代來安慰本身。
參考:
https://www.yiibai.com/spring-boot/spring_boot_introduction.html