Eclipse+Spring boot開發教程


一、環境搭建

在真正開始環境搭建前,我們要先明確我們需要怎樣的一個環境。

spring boot是java編寫的所以我們需要一個java IDE,spring boot是一個框架所以我們還需要一個能自動生成spring boot框架代碼的插件。

所以我們這里的環境搭建,就是安裝jdk、安裝eclipse、再安裝一個能自動生成spring boot框架代碼的插件。

對於jdk而言一般都是需要我們自己安裝,但對於后兩者其實有很多IDE就已經把插件給集成好了,比如幾乎成為事實標准的IntelliJ IDEA,又比如spring boot官方已經提供了用於開發spring boot的定制版eclipse(STS,Spring Tool Suite)。都直接下載使用即可,非常方便,在日常的開發中我們也非常推薦直接使用這兩個IDE。

另外還要說明“能自動生成spring boot框架代碼的插件”本質是到https://start.spring.io/把代碼下載下來,所以不安裝插件直接從該頁面下載框架然后就用原版eclipse開發spring boot也是可行的。

但考慮到可能有些小伙伴已經裝有了eclipse又不想再裝個IDE,也不想跑一趟網頁,我們這里還是介紹使用原版eclipse再在其上安裝spring插件進行開發的方法。

最后,不管是“網頁+Eclipse”、“插件+Eclipse”、STS、IntelliJ IDEA本質都是一個意思,尤其是第三大節的代碼總是可以使用的。

 

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----回車搜索

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

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

 

二、新建spring boot項目

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

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

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

 

三、實現REST請求

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

3.1 創建項目結構

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

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

 

3.2 實現model

 在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;
    }
}

 

3.3 實現controller

在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)); } }

完成后項目結構如下:

 

3.4 運行項目

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

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

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

 

3.5 實現熱部署

在當前項目中但凡我們對項目文件有所修改,要修其生效都要手動重新運行;比如我們將請求修從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檢測到項目有修改就會自動重新構建項目免去手動重啟的麻煩。

 

四、使用體驗

4.1 關於spring boot本身

如果我們去看ssh的書(比如《Struts2 Spring Hibernate框架技術與項目實戰》)就會看到厚厚的一本,然后其中很大部分內容是教你到哪下載什么文件放到哪里然后要修改哪些配置文件----反正就是說搭建ssh開發環境就是一件旁雜的事情。

但到spring boot中一是spring boot其實可以實現ssh的作用消滅了一堆集成配置,二是自帶tomcat消滅了tomcat的安裝配置,三是自身支持REST,四是maven/gradle簡化了jar文件的下載安裝及一些配置,通過這幾點確實實現了其“簡單”的口號。

 

4.2 關於spring、spring mvc、spring boot和spring cloud的關系

spring是一個實現控制反轉(IoC)和向向切片(AOP)的框架。

spring mvc基於spring,是一個mvc框架。和struts2同性質。

spring boot基於spring mvc。主要改進是集成tomcat等,能自己直接運行。

spring cloud基於spring boot。spring boot是集鑒權、路由等所有功能於一體的單體應用;spring cloud是由一個個專注於一個功能的spring boot應用組成的分布式應用(分布式指一個功能是一個單獨的服務,並不一定說部在不同機器上),比如專注服務治理的eurake、專注路由的zuul等。在學習時我們要抓住eurake等也是一個spring boot應用,就不會太過感到畏懼。

 

4.3 關於技術迭代

網上總存在着這樣的感慨----技術迭代得太快了----這大概是asp/dephi/C++年代的前輩聲音;而伴隨着這種感慨會有一種批評----技術的本質還是不怎么變只要掌握本質再花點時間就能掌握新技術----這大概是移動互聯網興起以來進入計算機的新人發出的聲音。

本質未變可以理解,正如我們這里只要會寫ssh那么只需要花點時間就能寫spring boot。但所謂“花點時間”讓我想起以前學數學的時候對某個解法不是很熟練,然后想這應該沒多大關系到考試時只要多花兩分鍾還是能算出來,然而到考試的時候發現並擠不出那所謂的兩分鍾。生活也許不像考試限定你一兩個小時,但生活也不只是寫程序每天可以有時間學習。

這里最壞的時代,新的技術總是層出不窮讓人疲於奔命;這是最好的時代,規律越來越明顯文檔越來越清晰框架越來越強大。最壞的時代無法抗拒,只能用最好的時代來安慰自己。

 

參考:

https://www.yiibai.com/spring-boot/spring_boot_introduction.html

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM