Skip to content

安装与环境搭建

对应 Laravel 的"安装"章节,以 PHP 开发者视角介绍 Java / Spring Boot 环境搭建。


核心概念对照表

PHP / LaravelJava / Spring Boot说明
PHP 运行时JDK (Java Development Kit)运行代码的底层引擎
ComposerMaven / Gradle包管理与构建工具
php-fpm / Apache内嵌 Tomcat / JettyWeb 服务器
PhpStormIntelliJ IDEA推荐的 IDE
Laravel InstallerSpring Initializr / Maven Archetype项目脚手架
php.iniapplication.yml / application.properties配置文件

1. JDK 安装(对应 PHP 运行时)

PHP 开发者用 php -v 检查版本,Java 开发者用 java -version

bash
# 检查 JDK 版本
java -version
# 输出示例:
# openjdk version "21.0.1" 2023-10-17 LTS

Spring Boot 3.x 要求 JDK 17+,推荐 JDK 21。

下载方式

环境变量

安装后需配置 JAVA_HOME 环境变量(类比 PHP 的 PATH 配置):

bash
# 验证 JAVA_HOME
echo $JAVA_HOME
# Windows (PowerShell)
echo $env:JAVA_HOME

💡 PHP 差别:PHP 只需将 php.exe 加入 PATH,Java 还需要 JAVA_HOME 指向 JDK 安装目录,因为 Maven、Gradle、IDE 等工具依赖于这个变量。


2. SDKMAN(类比 PHP 版本管理)

PHP 开发者常用 phpbrewdocker 切换 PHP 版本。Java 生态中 SDKMAN 是事实标准:

bash
# 安装 SDKMAN(类 Unix 系统)
curl -s "https://get.sdkman.io" | bash

# 查看可用的 JDK 版本
sdk list java

# 安装 JDK 21
sdk install java 21.0.1-tem

# 切换默认 JDK
sdk default java 21.0.1-tem

# 临时切换(类比 `phpbrew use`)
sdk use java 17.0.9-tem

💡 Windows 用户推荐直接下载安装包,或用包管理器(scoop / chocolatey)。


3. IntelliJ IDEA(对应 PhpStorm)

同样是 JetBrains 家的产品,布局、快捷键、功能几乎一致:

  • IntelliJ IDEA Community(免费版,够用)
  • IntelliJ IDEA Ultimate(付费版,有 Spring 专属功能)

如果会用 PhpStorm,直接上手 IntelliJ IDEA 无任何学习成本。

关键差别:

  1. 需要额外安装 Lombok 插件(后续注解章节会讲)
  2. Spring Boot 项目默认使用 Maven/Gradle 而非 Composer
  3. mvn / gradle 面板而非 composer 面板

4. Maven / Gradle(对应 Composer)

Maven(类比 Composer)

PHP 用 composer.json 声明依赖,Java(Maven)用 pom.xml

xml
<!-- pom.xml(类比 composer.json) -->
<dependencies>
    <!-- 类比 "laravel/framework": "^10.0" -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
        <version>3.2.0</version>
    </dependency>

    <!-- 类比 "laravel/sanctum" -->
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-security</artifactId>
    </dependency>
</dependencies>

常用命令对照:

操作ComposerMaven
安装依赖composer installmvn install
添加依赖composer require xxx手动编辑 pom.xml
构建项目-mvn package
清理composer clear-cachemvn clean
运行测试phpunit / composer testmvn test

Gradle(Composer 替代方案,更现代)

groovy
// build.gradle(替代 pom.xml,更简洁)
dependencies {
    implementation 'org.springframework.boot:spring-boot-starter-web:3.2.0'
    implementation 'org.springframework.boot:spring-boot-starter-security'
}

💡 选择建议: Laravel 社区用 Composer,Spring 社区分两派。Maven 更主流(类似 Composer 的地位),Gradle 更现代更快。本系列文档以 Maven 为主。


5. Spring Initializr(对应 Laravel Installer)

LaravelSpring Boot
laravel new my-app网页:https://start.spring.io/
composer create-projectCLI:mvn archetype:generate
选择模板(jetstream/breeze)选择依赖(Spring Web, Security 等)

在线生成(推荐新手)

  1. 访问 https://start.spring.io/
  2. 选:Maven → Java → Spring Boot 3.x
  3. Group(类比 App\ 命名空间根):com.example
  4. Artifact(项目名):my-app
  5. 添加依赖(类比 composer require):
    • Spring Web(对应 laravel/framework,构建 Web 应用的基础)
    • Spring Boot DevTools(对应 laravel/horizon 的热重载,自动重启)
    • Lombok(减少样板代码,见后文注解章节)
    • Spring Security(对应 laravel/sanctumlaravel/jetstream

使用 Maven 命令创建

bash
mvn archetype:generate \
    -DgroupId=com.example \
    -DartifactId=my-app \
    -DarchetypeArtifactId=maven-archetype-quickstart \
    -DinteractiveMode=false

6. 快速验证:第一个 Spring Boot 项目

创建项目后,一个最小的可运行应用:

java
// DemoApplication.java(类似 artisan 启动后的入口文件)
package com.example.demo;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@SpringBootApplication  // 类比:自动配置 + 类似 bootstrap/app.php 的初始化
@RestController          // 类比:继承 Controller 基类
public class DemoApplication {

    public static void main(String[] args) {
        SpringApplication.run(DemoApplication.class, args);  // 类比 php artisan serve
    }

    @GetMapping("/")  // 类比 Route::get('/', function() { ... })
    public String hello() {
        return "Hello from Spring Boot!";
    }
}

启动方式对照:

LaravelSpring Boot
php artisan serve在 IDE 中点击 Run 按钮
访问 http://localhost:8000mvn spring-boot:run
修改代码需 F5 刷新访问 http://localhost:8080
修改代码后 DevTools 自动重启

总结:PHP 开发者踩坑提醒

  1. Java 需要编译 —— 修改代码后必须重新编译(mvn compile),DevTools 可自动完成,但有短暂的 2-5 秒重启时间
  2. Maven 下载依赖很慢 —— 建议配置国内阿里云镜像(类似 composer 配置镜像源)
  3. 千万不要用系统自带的 java.exe 路径带空格 —— 会导致各种诡异问题
  4. IntelliJ IDEA 和 PhpStorm 是同一家公司的 —— 快捷键通用,无需重新学习

面向 PHP 开发者的 Spring Boot 文档