概述
本文介绍一套完整的 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 mvn compile mvn test mvn package 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> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency>
<dependency> <groupId>com.mysql</groupId> <artifactId>mysql-connector-j</artifactId> <scope>runtime</scope> </dependency>
<dependency> <groupId>com.baomidou</groupId> <artifactId>mybatis-plus-spring-boot3-starter</artifactId> <version>3.5.5</version> </dependency>
<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
| 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-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; }
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
| net start mysql80
redis-server
mvn spring-boot:run
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 用熟,再逐步引入其他工具。