最新版VS Code开发Spring Boot项目保姆级教程

你有没有经历过这种时刻:从 GitHub 克隆了一个 SpringBoot项目,用idea打开,10分钟之后就可以把项目跑起来,但是用 VS Code 打开, 没有运行按钮,没有绿色小三角,两百个文件里你不知道哪个是入口。就是一个文件夹,静静地躺在那里。你折腾了2天都没把项目跑起来

这个尴尬跟 Java 难不难没关系,纯粹是工具还没打开。

由于vscode和Java工具的发展都很迅速,我最近 尝试了用VS Code 开发 Spring Boot 项目,发现现在用 VS Code 开发 Spring Boot 的体验,跟我印象里"Java 开发必须用 IDEA"的时代,已经不太一样了。

以前我是怎么跑 Spring Boot 的

早些年我跑一个 Spring Boot 项目,流程大概是这样的:

先确认本机装了 Maven,mvn -v 看一下版本。没有?去官网下压缩包,解压,配 MAVEN_HOME,改 PATH,重启终端。然后 mvn clean package,等它下载一堆依赖,看着日志刷屏。跑起来了,再去浏览器开 localhost:8080。

如果我想调试,还得手动配 -agentlib:jdwp 那一串 JVM 参数,或者写个脚本。整个过程不能说难,但每一步都在消耗你的注意力,而这些注意力本来应该花在业务逻辑上。

Maven Wrapper:项目自带的"免安装 Maven"

后来出现了 Maven Wrapper (就是项目根目录里那个 mvnw 和 mvnw.cmd)。它的逻辑很简单:项目自己带一份 Maven,你不需要在系统里装。

第一次运行 ./mvnw package 的时候,它会自动下载指定版本的 Maven 到本地缓存,然后用这份 Maven 来构建项目。对团队来说,这意味着所有人都用同一个 Maven 版本,不会出现"你本地是 3.8,我本地是 3.9,构建结果不一样"的问题。

VS Code 的 Java 扩展包直接驱动 Maven Wrapper ,所以你连 mvnw 都不用敲。项目里的 pom.xml 被读到之后,Maven 视图就出现了,package 就在 Lifecycle 里等着你点。

如果你的项目没有maven wrapper,也可以直接去找一个其他项目有的,然后把项目的mvnw,mvnw.cmd和.mvn文件夹复制过来,只需要改一下 .mvn/wrapper/maven-wrapper.properties 里的版本号,让它跟你项目需要的 Maven 版本一致,比如:

两种方式对比:手动装 Maven vs Maven Wrapper

手动装 Maven Maven Wrapper
前置条件 系统里装好 Maven,配好环境变量 项目自带,零配置
版本一致性 依赖开发者本机环境,容易不一致 项目锁定版本,团队统一
VS Code 集成 需要手动指向 Maven 安装路径 扩展自动识别并驱动
适合场景 个人项目、需要全局 Maven 的场景 团队协作、CI/CD、教程项目

现在在 VS Code 里跑 Spring Boot 是什么体验

装两个扩展包:Extension Pack for Java 和 Spring Boot Extension Pack。

装完之后,VS Code 会自己找到 pom.xml,开始导入项目。状态栏显示 Java: Ready,Explorer 里多出 Java Projects 和 Maven 两个视图。

当然你也需要配置本地的jdk

使用vscode的命令面板,搜索Java runtime

接着就会自动挑战到配置页面

springboot插件安装好之后,会在左边出现springboot的图标

然后你点一下 Maven 视图里的 package,看着终端里跑出 BUILD SUCCESS。

再点一下 Spring Boot Dashboard 里的 Run,几秒钟后,Dashboard 告诉你应用跑在哪个端口,点 Open In Browser,页面就出来了。

点开springboot入口类,也可以run/debug

全程不用敲命令。

另外值得说的是,当你点击springboot图标里面的debug按钮之后

在controller里面还会展示一些非常有用的信息,甚至比idea还好

比如会显示每个接口的访问地址

还可以看到项目所有的端点和内存占用

点击如下图标表示之查看自己定义的端点

点击右边的网络图标,可以直接调用端点

如果你之前因为"Java 环境太麻烦"而没在 VS Code 里写过 Spring Boot,现在可以重新试一次。不用装 Maven,不用背命令,装两个扩展包,点几下按钮,一个 Web 应用就跑起来了。

相关推荐
高频因子挖掘机1 小时前
别急着搭数据平台:量化策略开发如何用最小闭环验证想法
后端·github·api
叶总没有会1 小时前
RabbitMQ基础--java客户端
java·rabbitmq·java-rabbitmq
CCblandy1 小时前
一致性哈希到底省了多少搬迁?本机实测 3 轮:取模 6→7 搬 85.8%,V=128 只搬 14.3%,虚拟节点太少会被倾斜骗
后端·python·云原生·性能优化·架构
code_slave(码畜)2 小时前
微服务架构落地:OpenFeign 服务远程调用 + 线程池隔离架构实战 —— 超时控制、重试机制、线程池隔离,防雪崩
spring boot·spring cloud·微服务·云原生·架构·openfeign
小陈不好吃2 小时前
Java 泛型与类型擦除:从 PECS 原则到 TypeToken 绕过
java·开发语言·windows·pecs 原则·typetoken绕过
鶴哥只手遮天2 小时前
Spring Framework 7.0.9 深度剖析-03-IoC 容器核心:BeanFactory 与 BeanDefinition 体系
java·后端·开源
tianbin9112 小时前
大模型流式输出异常排查,API 中转站层面的问题定位思路
后端·云计算
ydjs678899-bot2 小时前
如何在Java中打印pdf静默打印和打印对话框选择
java·python·pdf
Shaoshing2 小时前
存储引擎与架构
java·开发语言·架构