從 Java 開始:前端轉後端之 Java 後端實戰指南

如果你是前端工程師,且決定從 Java​ 切入後端開發,那麼恭喜你,你選擇了企業級開發的「國民語言」。

Java 生態系成熟、就業市場廣大(尤其是金融、電商、大型企業),但學習曲線比 Node.js 陡峭。本文將針對前端開發者的習慣,規劃一條高效的 Java 後端學習路徑。


一、思維轉換:從 JS 到 Java

前端轉 Java 最大的挑戰不在於語法,而在於程式設計典範的轉變:

維度JavaScript (前端)Java (後端)
型別系統弱型別、動態型別 (let a = 1; a = "ok")強型別、靜態型別​ (int a = 1;)
運行環境瀏覽器 V8 引擎Java Virtual Machine (JVM)
代碼組織ES Modules (import/export)Package (資料夾) & JAR 包
核心哲學靈活、原型鏈OOP (物件導向)、設計模式

重點:​ 你需要習慣在寫 Code 時先定義「型別」,並接受較為冗長但嚴謹的語法結構。


二、環境建置:JDK 與 IDE

不同於前端只需瀏覽器和編輯器,Java 後端需要專門的工具。

1. 安裝 JDK (Java Development Kit)

  • 建議版本:​ JDK 17 (LTS 長期支援版) 或 JDK 21 (最新 LTS)。
  • 下載:​ 可從 Oracle 官網或 Adoptium 下載。
  • 驗證:​ 安裝完成後,在終端機輸入 java -version

2. 選擇 IDE (整合開發環境)

這是前端轉 Java 最痛苦的適應期,但也是效率的保證。

  • IntelliJ IDEA (首選):​ JetBrains 出品,智慧程度極高,對新手友好(有免費 Community 版)。 前端比喻:​ 它就像是 VS Code + ESLint + Prettier + Debugger 的超級結合體。
  • VS Code (備選):​ 如果你暫時不想離開 VS Code,可以安裝 Java Extension Pack,但體驗不如 IntelliJ。

三、第一個 Java 後端專案:Spring Boot

原生 Java (Servlet/JSP) 已經很少人直接用了。現代 Java 後端幾乎等同於 Spring Boot

Spring Boot 是一個框架,它讓你可以用「開箱即用」的方式快速建立伺服器。

步驟 1:建立專案

前往 start.spring.io(Spring 官方初始化工具):

  • Project:​ Maven
  • Language:​ Java
  • Spring Boot:​ 預設即可
  • Group:​ com.example
  • Artifact:​ demo
  • Name:​ demo
  • Packaging:​ Jar
  • Java:​ 17

點擊 Generate,下載壓縮檔並解壓,用 IntelliJ 打開。

步驟 2:寫你的第一個 API (Hello World)

找到 src/main/java/com/example/demo/DemoApplication.java,這是程式入口。

接著建立一個 Controller:

javajavapackage com.example.demo.controller;

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

// @RestController 是一個組合註解,等同於 @Controller + @ResponseBody
@RestController
public class HelloController {

    // @GetMapping 定義這是一個 GET 請求,路徑為 "/hello"
    @GetMapping("/hello")
    public String sayHello() {
        return "你好,我是 Java 後端 API!";
    }
}

步驟 3:啟動伺服器

回到 DemoApplication.java,點擊 main 方法旁邊的綠色箭頭 ▶️ Run。

看到終端機印出 Tomcat started on port(s): 8080即表示成功。

打開瀏覽器訪問 http://localhost:8080/hello


四、核心觀念:Java 後端三劍客

作為前端轉職者,你需要特別關注以下三個概念,它們對應到前端的某些模式,但有本質區別。

1. OOP (物件導向程式設計)

Java 是純 OOP 語言。你需要理解:

  • Class (類別) vs Object (物件)
  • 三大特性:​ 封裝 (Encapsulation)、繼承 (Inheritance)、多型 (Polymorphism)。 前端對照:​ 類似 React/Vue 的 Class Component,但更嚴格。

2. MVC 架構

Spring Boot 常用架構模式:

  • Model (模型):​ 資料結構 (POJO/Entity)。
  • View (視圖):​ 後端通常返回 JSON,而非 HTML(前後端分離)。
  • Controller (控制器):​ 接收請求、返回響應(你剛剛寫的 HelloController)。

3. 註解 (Annotations)

Java 大量依賴註解來配置行為,而非像前端一樣寫一堆設定檔。

  • @RestController
  • @Autowired(依賴注入)
  • @Entity(資料庫映射)

五、連接資料庫:JPA / Hibernate

這是後端的核心。Java 生態中,最常見的是 JPA (Java Persistence API),其實作代表是 Hibernate

前端比喻:​ JPA/Hibernate 就是 Java 界的 Prisma​ 或 Mongoose,但它更強大也更複雜。

範例:定義一個 User 實體 (Entity)

javajavapackage com.example.demo.entity;

import jakarta.persistence.*;

@Entity // 標記這是一個資料庫表映射的類
@Table(name = "users") // 對應資料庫中的 users 表
public class User {

    @Id // 主鍵
    @GeneratedValue(strategy = GenerationType.IDENTITY) // 自增長
    private Long id;

    @Column(nullable = false, unique = true) // 非空且唯一
    private String username;

    private String password;

    // 必須要有無參數建構子
    public User() {
    }

    // Getter 和 Setter (Lombok 可以自動生成,不用手寫)
    public Long getId() { return id; }
    public void setId(Long id) { this.id = id; }
    public String getUsername() { return username; }
    public void setUsername(String username) { this.username = username; }
    public String getPassword() { return password; }
    public void setPassword(String password) { this.password = password; }
}

六、給前端者的 Java 學習清單 (Roadmap)

  1. Java 基礎語法 (1–2 週)
    • 變數、資料型別、運算子
    • if/else, for迴圈 (與 JS 類似)
    • 重點:​ Class, Interface, Constructor (建構子)
  2. Maven / Gradle
    • 專案管理與依賴管理工具。
    • 前端比喻:​ 它就是 package.json+ npm/yarn
  3. Spring Boot 核心
    • Dependency Injection (依賴注入)
    • RESTful API 設計
    • 全域例外處理 (@ControllerAdvice)
  4. 安全性 (Spring Security)
    • 實作 JWT 登入驗證。這塊對前端來說比較陌生,但非常重要。
  5. 進階主題
    • 多執行緒 (Multithreading)
    • 快取 (Redis)
    • 訊息佇列 (Kafka/RabbitMQ)

七、實戰建議:做一個 Blog API

不要只停留在 CRUD。嘗試用 Spring Boot 做一個簡單的部落格後台 API:

  1. User Module:​ 註冊、登入 (JWT)。
  2. Post Module:​ 文章的發布、查詢、修改、刪除。
  3. Comment Module:​ 留言功能。

技術棧:

  • Spring Boot
  • Spring Data JPA (操作資料庫)
  • MySQL / PostgreSQL
  • Lombok (減少樣板代碼)

八、結語

從前端轉 Java 後端,初期可能會覺得「囉嗦」、「不自由」,但隨著專案規模變大,你會發現 Java 的嚴謹性強大的型別約束是保障大型系統穩定的基石。

你的優勢:​ 你懂 HTTP、JSON、API 設計,這些都是通用的。

你的挑戰:​ 適應 JVM、OOP 思維、以及 Spring 龐大的生態系。

下一步行動:​ 下載 IntelliJ IDEA,跑起第一個 Spring Boot 專案,這就是萬里長征的第一步!


關鍵字:​ #Java後端 #SpringBoot #前端轉後端 #Java教學 #SpringFramework #MVC #JPA


评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注