怎么从0搭建一个Spring-Boot项目

cloud-yuan
0
2026-06-12

第一步:准备开发环境与工具

在开始写代码之前,需要先准备好开发所需的“三件套”:

  • JDK:建议安装 JDK 17(长期支持版),并确保配置好了环境变量。

  • IDE(开发工具):推荐使用 IntelliJ IDEA(社区版免费即可),它对 Spring 的支持非常友好。

  • 构建工具:Maven(通常 IDEA 会内置,无需单独安装,但建议配置国内镜像源如阿里云,以加快依赖下载速度)。

第二步:快速创建项目骨架

Spring 官方提供了一个非常好用的在线工具 Spring Initializr,可以一键生成标准的项目结构:

  1. 访问 start.spring.io

  2. 填写项目基本信息:Project 选择 Maven,Language 选择 Java,Spring Boot 选择最新的稳定版(如 3.2.x)。

  3. 添加起步依赖(Dependencies):初次上手建议勾选 Spring Web(开发 Web 接口用)、Spring Boot DevTools(热部署,修改代码免重启)、Lombok(简化代码)。

  4. 点击“GENERATE”生成并下载压缩包,解压后直接用 IDEA 打开即可。

第三步:熟悉标准项目结构

一个规范的 Spring Boot 项目通常采用分层架构,目录结构大致如下:

  • src/main/java:存放 Java 源代码。

    • controller:控制层,负责接收前端请求和返回响应。

    • service:业务层,负责处理核心业务逻辑。

    • mapper(或 dao):数据访问层,负责与数据库交互。

    • model(或 entity):实体类,对应数据库中的表结构。

    • XxxApplication.java:带有 @SpringBootApplication 注解的主启动类。

  • src/main/resources:存放资源文件。

    • application.properties(或 application.yml):项目的核心配置文件(如端口号、数据库连接信息等)。

第四步:编写第一个 Web 接口(Hello World)

项目导入后,我们来写一个简单的接口验证环境是否跑通。在 controller 包下新建一个 HelloController.java

import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {
    @GetMapping("/api/hello")
    public String sayHello() {
        return "🎉 恭喜!你的第一个 Spring Boot 接口跑通啦!";
    }
}

直接运行主启动类,控制台看到 Tomcat started on port(s): 8080 后,打开浏览器访问 http://localhost:8080/api/hello,就能看到返回的欢迎文字。

第五步:连接数据库与业务开发

企业项目离不开数据库。以 MySQL 为例:

  1. pom.xml 中添加 MySQL DriverSpring Data JPA 依赖。

  2. application.properties 中配置数据库连接信息:

spring.datasource.url=jdbc:mysql://localhost:3306/你的数据库名
spring.datasource.username=root
spring.datasource.password=你的密码
spring.jpa.hibernate.ddl-auto=update
  1. 按照 Model -> Mapper-> Service -> Controller 的顺序,依次编写实体类、数据访问接口、业务逻辑类和对外接口,完成完整的增删改查(CRUD)业务。

第六步:打包与部署上线

开发测试完成后,需要将项目打包并部署到服务器上:

  1. 打包:在项目根目录执行命令 mvn clean package -DskipTests,会在 target 目录下生成一个可执行的 .jar 文件。

  2. 部署:将 jar 包上传到 Linux 服务器,执行 java -jar 你的项目名.jar 即可启动。在生产环境中,通常会配合 Nginx 做反向代理,并使用 Systemd 或 Docker 来托管应用,保证服务的稳定运行。