概述

本文介绍一套完整的 Java 全栈开发工具链,以后端 IntelliJ IDEA + 前端 WebStorm + 数据库 MySQL 为核心,覆盖从编码、构建、调试到部署的全流程。

整体开发架构如下:

1
2
3
4
5
开发者
├── 后端:IntelliJ IDEA → Maven/mvnd 构建 → SpringBoot
├── 前端:WebStorm → npm 构建 → Vue/React
├── 数据库:MySQL 8.0 + DataGrip 管理
└── 部署:Nginx + Tomcat + Redis

一、后端开发 — IntelliJ IDEA

1.1 简介

IntelliJ IDEA 是 JetBrains 出品的 Java IDE,被公认为 Java 开发最强 IDE。社区版免费,Ultimate 版支持 Spring、数据库工具等企业级功能。

1.2 核心功能

功能 说明
智能代码补全 基于上下文的补全,比普通编辑器更精准
Spring 支持 自动识别 Bean 注入、配置文件跳转(Ultimate 版)
Maven/Gradle 集成 一键导入依赖、图形化管理 POM
数据库工具 内置数据库面板,可直接写 SQL(Ultimate 版)
调试器 断点调试、条件断点、表达式求值
重构工具 重命名、提取方法、内联变量等安全重构
Git 集成 内置 Git 面板,支持 diff、merge、blame

1.3 常用快捷键

快捷键 功能
Ctrl + N 快速跳转到类
Ctrl + Shift + N 快速跳转到文件
Ctrl + F12 查看类结构(方法列表)
Alt + Enter 快速修复(导入包、实现接口等)
Ctrl + Alt + L 格式化代码
Ctrl + D 复制当前行
Ctrl + / 注释/取消注释
Double Shift 全局搜索(类、文件、操作)

1.4 推荐插件

插件 用途
Lombok 支持 @Data@Slf4j 等注解
MyBatisX Mapper 接口与 XML 跳转
GenerateAllSetter 一键生成对象的 set 方法调用
RestfulTool 快速查找和测试 Controller 接口
Key Promoter X 提示鼠标操作对应的快捷键

1.5 项目结构示例

一个标准的 SpringBoot 项目结构:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
src/
├── main/
│ ├── java/com/example/project/
│ │ ├── controller/ ← 接口层
│ │ ├── service/ ← 业务逻辑层
│ │ ├── mapper/ ← 数据访问层
│ │ ├── entity/ ← 实体类
│ │ ├── config/ ← 配置类
│ │ └── Application.java
│ └── resources/
│ ├── application.yml ← 主配置文件
│ ├── mapper/ ← MyBatis XML
│ └── static/ ← 静态资源
pom.xml ← Maven 配置

二、前端开发 — WebStorm

2.1 简介

WebStorm 是 JetBrains 出品的前端 IDE,对 JavaScript/TypeScript、Vue、React 有深度支持。如果你已经订阅了 JetBrains 全家桶,WebStorm 是前端开发的最佳选择。

2.2 核心功能

功能 说明
Vue/React 支持 组件跳转、模板语法高亮、Props 类型检查
TypeScript 完整的类型检查和智能提示
npm 集成 图形化运行脚本、查看依赖
调试器 直接在 IDE 里调试浏览器端代码
Git 集成 与 IDEA 相同的 Git 体验
终端 内置终端,直接运行 npm/npx 命令

2.3 常用快捷键

快捷键 功能
Ctrl + Alt + L 格式化代码
Ctrl + / 注释/取消注释
Ctrl + 点击 跳转到定义
Alt + Enter 快速修复
Ctrl + Shift + F 全局搜索内容

2.4 前端项目结构示例

一个标准的 Vue 项目结构:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
src/
├── api/ ← 接口请求封装
├── assets/ ← 静态资源(图片、字体)
├── components/ ← 公共组件
├── views/ ← 页面组件
├── router/ ← 路由配置
├── store/ ← 状态管理(Pinia/Vuex)
├── utils/ ← 工具函数
├── App.vue ← 根组件
└── main.js ← 入口文件
public/
├── index.html
package.json ← npm 配置
vite.config.js ← Vite 构建配置

三、数据库 — MySQL 8.0

3.1 简介

MySQL 是最流行的关系型数据库,Java 项目标配。8.0 版本引入了窗口函数、JSON 增强、CTE 等新特性。

3.2 数据库管理工具

工具 说明
DataGrip JetBrains 出品,支持几乎所有数据库,SQL 智能补全强大
Navicat 老牌数据库管理工具,界面友好
phpMyAdmin Web 版管理工具,宝塔面板自带
MySQL Workbench 官方出品,免费

推荐使用 DataGrip,与 IDEA/WebStorm 同属 JetBrains 家族,操作习惯一致。

3.3 常用 SQL 操作

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
-- 创建数据库
CREATE DATABASE my_project DEFAULT CHARSET utf8mb4;

-- 创建表
CREATE TABLE user (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
username VARCHAR(50) NOT NULL UNIQUE,
password VARCHAR(100) NOT NULL,
email VARCHAR(100),
create_time DATETIME DEFAULT CURRENT_TIMESTAMP
);

-- 常用查询
SELECT * FROM user WHERE username = 'admin';
SELECT COUNT(*) FROM user;
SELECT * FROM user ORDER BY create_time DESC LIMIT 10;

3.4 SpringBoot 连接配置

application.yml 中配置数据库连接:

1
2
3
4
5
6
7
8
9
10
11
spring:
datasource:
url: jdbc:mysql://localhost:3306/my_project?useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai
username: root
password: your_password
driver-class-name: com.mysql.cj.jdbc.Driver

mybatis-plus:
mapper-locations: classpath:mapper/*.xml
configuration:
map-underscore-to-camel-case: true

四、构建工具 — Maven / mvnd

4.1 Maven

Maven 是 Java 项目的标准构建工具,负责依赖管理和项目构建。

常用命令

1
2
3
4
5
6
mvn clean              # 清理 target 目录
mvn compile # 编译源代码
mvn test # 运行测试
mvn package # 打包(生成 jar/war)
mvn clean package -DskipTests # 跳过测试打包(最常用)
mvn dependency:tree # 查看依赖树

POM 核心配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
<project>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>3.2.0</version>
</parent>

<dependencies>
<!-- SpringBoot Web -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>

<!-- MySQL 驱动 -->
<dependency>
<groupId>com.mysql</groupId>
<artifactId>mysql-connector-j</artifactId>
<scope>runtime</scope>
</dependency>

<!-- MyBatis-Plus -->
<dependency>
<groupId>com.baomidou</groupId>
<artifactId>mybatis-plus-spring-boot3-starter</artifactId>
<version>3.5.5</version>
</dependency>

<!-- Lombok -->
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
</dependencies>
</project>

4.2 Maven Daemon (mvnd)

mvnd 是 Maven 的加速版本,通过守护进程复用 JVM,构建速度提升 2-10 倍。

1
2
# 用法与 Maven 完全一致,只替换命令
mvnd clean package -DskipTests

速度对比

项目规模 Maven mvnd 提升
小型项目(10 个模块以下) 15s 5s 3x
中型项目(50 个模块) 60s 12s 5x
大型项目(100+ 模块) 180s 25s 7x

五、常用中间件

5.1 Redis

内存缓存数据库,用于会话管理、缓存热点数据、分布式锁。

1
2
3
4
5
6
7
8
# 启动 Redis
redis-server

# 常用操作
redis-cli
SET user:1 "admin"
GET user:1
EXPIRE user:1 3600 # 设置过期时间(秒)

SpringBoot 集成

1
2
3
4
5
6
7
spring:
data:
redis:
host: localhost
port: 6379
password: your_password
database: 0

5.2 Nginx

Web 服务器和反向代理,用于部署前端项目和转发 API 请求。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
server {
listen 80;
server_name your-domain.com;

# 前端静态资源
location / {
root /www/wwwroot/frontend;
try_files $uri $uri/ /index.html;
}

# 后端 API 反向代理
location /api/ {
proxy_pass http://127.0.0.1:9090/;
proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
}
}

5.3 Nacos

阿里巴巴开源的服务注册/配置中心,微服务架构必备。

功能 说明
服务注册 微服务启动时自动注册到 Nacos
配置中心 集中管理各服务的配置文件
健康检查 自动检测服务是否可用

六、开发流程串联

一个完整的 Java 全栈开发流程:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
1. 需求分析

2. 后端开发(IDEA)
├── 创建 SpringBoot 项目
├── 编写 Controller → Service → Mapper
├── 连接 MySQL 数据库
└── Maven 打包

3. 前端开发(WebStorm)
├── 创建 Vue 项目
├── 编写页面组件
├── 调用后端 API
└── npm run build 打包

4. 联调测试
├── 前端:localhost:5173
├── 后端:localhost:9090
└── 数据库:localhost:3306

5. 部署上线
├── 后端 JAR → 服务器运行
├── 前端 dist → Nginx 托管
└── 数据库 → 远程 MySQL

本地开发环境启动顺序

1
2
3
4
5
6
7
8
9
10
11
12
13
# 1. 启动 MySQL
net start mysql80

# 2. 启动 Redis(如需要)
redis-server

# 3. 启动后端(IDEA 中直接运行 Application)
# 或命令行:
mvn spring-boot:run

# 4. 启动前端(WebStorm 终端中执行)
cd frontend
npm run dev

七、工具链总结

层级 工具 用途
后端 IDE IntelliJ IDEA Java/SpringBoot 开发
前端 IDE WebStorm Vue/React 开发
数据库 MySQL 8.0 数据存储
数据库管理 DataGrip SQL 编写和管理
构建工具 Maven / mvnd 依赖管理、项目构建
包管理 npm 前端依赖管理
缓存 Redis 会话、缓存
Web 服务器 Nginx 反向代理、静态资源
服务治理 Nacos 服务注册/配置中心
版本控制 Git 代码版本管理

提示:工具不在多,在于熟练。建议先把 IDEA + WebStorm + MySQL 用熟,再逐步引入其他工具。