Eclipse+Spring boot開發教程

一、安裝

其實spring boot官方已經提供了用於開發spring boot的定製版eclipse(STS,Spring Tool Suite)直接下載使用即可,但考慮到可能有些小夥伴不想又多裝個eclipse,我們這裡還是介紹使用原版eclipse再在其上安裝spring插件進行開發的方法。

STS地址:http://spring.io/tools3/sts/all

Eclipse+Spring boot開發教程

1.1 安裝jdk

jdk一是用於運行eclipse,二是用於開發spring boot項目。

安裝方法可參考鏈接:https://www.cnblogs.com/lsdb/p/6497816.html

jdk官方地址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

1.2 安裝eclipse

eclipse可用於開發多種語言的項目,選擇Eclipse IDE for Java EE Developers版本下載,解壓即可(Eclipse IDE for Java Developers版本應該也可以)

官方地址:https://www.eclipse.org/downloads/packages/

1.3 安裝spring插件

打開eclipse----菜單----Help----Eclipse Marketplace----在Find搜索框中輸入spring----回車搜索

Eclipse+Spring boot開發教程

Eclipse+Spring boot開發教程

Eclipse+Spring boot開發教程

注意這裡不是我們點Finish就安裝完成了,注意看eclipse右下角installing software到百分之百時才是安裝完成,安裝完成後會提示重啟如下選擇重啟即可。

Eclipse+Spring boot開發教程

(一是插件比較大二是外國網站網速比較慢三是在線安裝感覺就是經常有問題,其實不太推薦在線安裝;但是離線安裝又有問題沒搞定所以只能演示在線安裝)

二、新建spring boot項目

打開eclipse----菜單----File----New----Project(插件裝成功後才會有Spring Boot項)

Eclipse+Spring boot開發教程

填好項目信息,點擊next(這裡本質還是到https://start.spring.io/頁面生成項目)

Eclipse+Spring boot開發教程

Eclipse+Spring boot開發教程

Eclipse+Spring boot開發教程

finish之後我們就得到了一個spring boot項目,其目錄結構如下(此時所有東西都是自動生成的未做任何改動)

Eclipse+Spring boot開發教程

三、實現REST請求

在上一步中我們已經得到了一個spring boot項目,下邊我們以在此基礎上實現一個rest請求作為開發演示

3.1 創建項目結構

首先我們按習慣在demo目錄下,創建model文件夾(用於存放model)、dao文件夾(用於存放數據訪問文件)、controller文件夾(用於存放控制器)、service(用於存放主要的程序邏輯代碼)

(不過下面為了簡單起見dao和service不用到,只使用model,然後controller直接返回結果。)

3.2 實現model

在model文件夾創建Test.java文件,寫入以下內容:

Eclipse+Spring boot開發教程

<code>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;
}
}/<code>
Eclipse+Spring boot開發教程

3.3 實現controller

在controller文件夾創建TestController.java文件,寫入以下內容:

(該內容主要是對test和test1兩個請求進行響應,test和test1兩個請求的返回結果是一樣的寫兩個是為了強調一個Controller文件就可以處理多個請求,不用每個請求都建一個Controller)

Eclipse+Spring boot開發教程

<code>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));
}
}/<code>
Eclipse+Spring boot開發教程

完成後項目結構如下:

Eclipse+Spring boot開發教程

3.4 運行項目

選擇項目----右鍵----Run As----Spring Boot App

Eclipse+Spring boot開發教程

控制檯選項卡會打印運行日誌,如下我們可以看到監聽於本地8080端口

又由於我們前面創建了test請求的響應,此時通過瀏覽器訪問http://localhost:8080/test,響應結果如下:

Eclipse+Spring boot開發教程

3.5 實現熱部署

在當前項目中但凡我們對項目文件有所修改,要修其生效都要手動重新運行;比如我們將請求修從test修改為modify,要此修改生效就得手動重新運行這是比較麻煩的。

如果能修改保存之後系統自己重新運行那是非常好的,這就是所謂的熱部署,而spring boot通過簡單配置就能實現熱部署。

首生,打開項目根目錄下的pom.xml文件,在<dependencies>標籤內加入以下內容:

<code><dependency>
<groupid>org.springframework.boot/<groupid>
<artifactid>spring-boot-devtools/<artifactid>
<optional>true/<optional>
/<dependency>/<code>
Eclipse+Spring boot開發教程

其次,eclipse菜單----Project菜單----確保Build Automatically處於鉤選狀態。

經此兩步,每當選擇“保存”eclipse檢測到項目有修改就會自動重新構建項目免去手動重啟的麻煩。

四、使用體驗

一、關於spring boot本身

如果我們去看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

https://blog.csdn.net/Guohenghenghaha/article/details/76080229


分享到:


相關文章: