在前两篇文章中,我们分别聊了Claude Code的安装配置,以及如何通过CLAUDE.md为AI划定边界。今天,咱们换个思路——从零开始,用Claude Code动手搭建一个SpringBoot基础项目。这个过程不光是验证工具,更能沉淀出一些实实在在的操作经验。
案例简介
目标是:借助Claude Code生成一个SpringBoot基础框架,后续可以直接基于它往上堆功能。开始前,先在GitHub上建了个空仓库,然后把项目拉到本地——说白了,就是一个带Git初始化的空目录。
为什么强调Git?因为Claude Code本身对Git有原生支持,而实际用下来会发现,模型几乎不可能一次性输出完美结果。这时候Git的价值就出来了:聊上三四轮发现方向偏了,与其在错误代码上继续改,不如直接回滚到之前版本,清空上下文重来。每当你觉得某次生成的结果符合预期,就提交一个版本。这样迭代推进,效率高出不少。
具体实践及经验
下面走一遍完整的生成流程,每个步骤都会嵌入一些操作心得,而不是单纯罗列命令。
先与Claude Code聊一聊
如果对技术栈不太确定,完全可以先和Claude Code讨论思路。比如三年多没写Ja va代码,有些框架细节已经模糊了,这时候直接问它:
通常在前后端不分离的项目当中,当采用Springboot框架时,前端推荐使用什么框架比较合适
Claude Code会给出推荐方案,并附带一些解释。除了框架,数据库连接框架之类的问题也可以一并聊。这算是AI辅助编程和传统编程一个很大的不同——没事多聊聊,让AI帮你补全知识盲区。执行任务过程中,还可以用/btw命令随时沟通技术实现细节。
让Claude Code采访自己
经验表明:需求描述越详细,生成结果越贴切。但如果自己没想清楚,或者担心遗漏,那就反过来让Claude Code“采访”你——它会通过一系列提问帮你完善整个项目架构。目前社区里已经有不少开源的Skill插件用于这种“脑暴”场景。
提示词示例:
❯ 我需要创建一个基础的Ja va项目,项目采用Spring Boot + Mybatis Plus + Thymeleaf,数据库用MySQL,项目的目录结构及分层遵循基础的SpringBoot项目规范和MVC架构,优先采用注解,现在请采访我,补充完善这个基础的脚手架项目。
这里简单说明需求后,Claude Code就会开始提问。如果在Claude Code中安装了brainstorming插件,它会触发更系统的采访流程。比如先问基础功能,再问框架与规范细节,一轮下来可能有十几项采访。与AI沟通时,可以用序号直接选择,也可以进一步讨论优化。
强烈建议:先别急着写代码,先和AI把需求聊透,越详细越好,然后再进入执行阶段。
适时持久化结果
反复沟通后,Claude Code会输出一个方案。这时候不要直接让它按方案生成代码——因为Claude Code的上下文空间有限,聊得越多,信息越容易被压缩或遗忘,幻觉也会放大。尤其是项目整体架构这类核心资产,最好持久化到文档里,后续任何时候都可以基于文档重新开始,而不是依赖上下文。
如果觉得方案没问题,直接告诉它:
没有问题,先把设计方案写到当前目录下以便后续参考
Claude Code会将方案存为本地文件。有了这个文档之后,就可以清空当前会话或压缩上下文,避免后续干扰。
按照规划执行
有了设计文档(或者自己手动写的需求文档),接下来就让Claude Code根据文档要求来规划和生成项目。它会先确认一些细节,然后创建一个实现计划。
执行时推荐使用Subagent-Driven模式:每个任务派遣新的子袋里,任务之间互相审查,快速迭代。Claude Code会按照计划一项一项执行并打勾检查,同时自动构建不同的feat分支来提交各个功能单元,连commit信息都会写得很规范。
启动验证
代码生成完成后,先在本地启动数据库服务,创建对应数据库,按说明执行初始化脚本。如果修改了数据库密码等信息,记得在application-dev.yml中同步修改。
启动命令很简单:
mvn spring-boot:run
当然,第一次运行很可能报错。这时候最好让Claude Code直接执行启动操作,方便它根据错误日志自行修复。不出意外,确实有错误,但Claude Code会反复尝试直到项目成功启动。
访问结果
启动成功后,控制台会给出访问地址。分别试试首页和Druid管理页面,确认都能正常访问。用IDE打开项目,代码结构和手工编写的几乎一样,唯一缺失的是注释——这个问题可以在CLAUDE.md中约束,让AI自动补全。
再看一下Claude Code的版本管理:每个功能单元都独立commit,信息清晰规范,比很多开发人员手动提交的都要专业。这也验证了为什么一开始就要创建Git管理的项目。
最后,让Claude Code把代码推送到远程仓库。至此,一个完全由Claude Code操作完成的项目就落地了。可以清理缓存或新开一个会话(减少无关上下文),接着进行新功能开发。
小结
这篇文章是前面安装配置和CLAUDE.md配置的延续,整个实践过程不到一小时。从与Claude Code聊基础技术,到让它“采访”自己生成规划,再到规划持久化、按规划执行、启动验证,每个环节都融入了实际操作经验。
后续还会继续分享Claude Code的实战技巧,看看能不能一边学技巧,一边完成一个真正有预期功能的项目。
