
1. 引言从 HTML、CSS、JavaScript 一路写过来的前端同学第一次拿到一个 Spring Boot 项目时往往会有一种「打开了一个陌生世界」的感觉没有package.json没有src目录下熟悉的组件树取而代之的是一堆src/main/java、pom.xml、application.yml……别慌这篇文章就是写给前端人的一份「Spring Boot 项目地图」帮你快速定位该先看哪里。2. 先建立整体认知Spring Boot 项目长什么样在动手看代码之前先花两分钟建立整体认知。一个典型的 Spring Boot 项目结构如下my-spring-boot-app/ ├── pom.xml # 相当于前端的 package.json ├── src/ │ ├── main/ │ │ ├── java/ │ │ │ └── com/example/demo/ │ │ │ ├── DemoApplication.java # 启动入口相当于 main.js │ │ │ ├── controller/ # 相当于前端的路由层 │ │ │ ├── service/ # 业务逻辑层 │ │ │ ├── repository/ # 数据访问层相当于前端的 API 请求封装 │ │ │ └── model/entity/ # 数据模型相当于前端的类型定义 │ │ └── resources/ │ │ ├── application.yml # 配置文件相当于前端的 .env │ │ ├── static/ # 静态资源HTML/CSS/JS │ │ └── templates/ # 服务端模板如 Thymeleaf │ └── test/ # 测试代码 └── .gitignore如果你把 Spring Boot 项目映射到前端项目会发现很多概念是相通的前端概念Spring Boot 对应物package.jsonpom.xmlmain.js/ 入口文件DemoApplication.java路由React Router / Vue RouterController/RestControllerAPI 请求封装axios/fetchRepository/Service环境变量.envapplication.yml类型定义TypeScript interfaceEntity/Model3. 第一步先看pom.xml相当于 package.json前端人打开项目的第一件事应该是看pom.xml。它告诉你项目用了哪些依赖相当于dependencies项目是 Maven 还是 Gradle 构建Java 版本是多少项目打包方式。dependenciesdependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-web/artifactId/dependencydependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-data-jpa/artifactId/dependency/dependencies看到spring-boot-starter-web说明这是一个 Web 项目会提供 REST API看到spring-boot-starter-data-jpa说明项目会连接数据库。4. 第二步看启动入口DemoApplication.java找到带SpringBootApplication注解的类这就是整个应用的入口相当于前端的main.jspackagecom.example.demo;importorg.springframework.boot.SpringApplication;importorg.springframework.boot.autoconfigure.SpringBootApplication;SpringBootApplicationpublicclassDemoApplication{publicstaticvoidmain(String[]args){SpringApplication.run(DemoApplication.class,args);}}前端人只需要知道运行这个main方法项目就会启动默认端口是8080。5. 第三步看配置文件application.ymlapplication.yml相当于前端的.env文件里面配置了端口、数据库连接、日志级别等server:port:8080spring:datasource:url:jdbc:mysql://localhost:3306/demousername:rootpassword:123456前端人重点看server.port这决定了后端服务跑在哪个端口联调时前端代理就要指向这里。6. 第四步看 Controller相当于前端路由Controller 是前端人最容易理解的部分因为它就是「接口定义」。一个典型的 Controller 长这样RestControllerRequestMapping(/api/users)publicclassUserController{GetMappingpublicListUsergetUsers(){returnuserService.getAllUsers();}PostMappingpublicUsercreateUser(RequestBodyUseruser){returnuserService.saveUser(user);}}前端人看到GetMapping就能秒懂这就是一个GET /api/users的接口。PostMapping对应POST请求RequestBody对应请求体。7. 第五步看 Service 和 Repository相当于业务逻辑和数据访问Service层业务逻辑相当于前端把多个 API 调用组合成一个业务动作的地方Repository层数据访问相当于前端的 API 请求封装只不过它直接操作数据库。ServicepublicclassUserService{AutowiredprivateUserRepositoryuserRepository;publicListUsergetAllUsers(){returnuserRepository.findAll();}}8. 前端人最容易踩的坑不要试图一次看懂所有代码先跑起来再按「请求进来 → Controller → Service → Repository」这条链路去读注意端口冲突如果 8080 被占用项目会启动失败改application.yml里的server.port即可依赖下载慢Maven 首次构建会下载大量依赖建议配置国内镜像不要被注解吓到Autowired、Component这些注解先理解为「框架帮你自动完成的事情」即可不必深究原理。9. 总结前端人第一次打开 Spring Boot 项目按这个顺序看就够了pom.xml—— 了解项目依赖和技术栈DemoApplication.java—— 找到启动入口application.yml—— 看端口和配置Controller—— 看接口定义Service/Repository—— 看业务逻辑和数据访问。记住Spring Boot 和后端世界并没有那么神秘它只是用另一种语言和框架实现了你早已熟悉的前后端交互逻辑。把心态放平按「入口 → 配置 → 接口 → 逻辑」的顺序去读你很快就能上手。