Spring Boot 保姆级入门教程

关于作者:我是小贺,乐于分享各种前端知识,同时欢迎大家关注我的个人博客以及微信公众号[小贺前端笔记]

1. 介绍

Spring Boot 是一个用于简化 Spring 应用开发的框架。它提供了许多开箱即用的功能,如自动配置、嵌入式服务器等,使得开发者可以快速构建生产级别的应用。Spring Boot 特别适合前端开发者转向全栈开发,因为它简化了后端开发的复杂性。

为什么使用 Spring Boot?

  • 快速开发:内置 Tomcat、Jetty 等服务器,无需手动配置。
  • 自动配置:根据项目依赖自动配置,减少手动设置。
  • 微服务友好:易于构建 RESTful API,适合前后端分离架构。

2. 环境准备

在开始之前,确保你已安装以下软件:

  • JDK 8 或更高版本:Spring Boot 2.x 支持 JDK 8+,推荐使用 JDK 11 或 17。
  • Maven 或 Gradle:用于管理项目依赖,推荐 Maven。
  • IDE:推荐 IntelliJ IDEA、Eclipse 或 VS Code(带 Spring Boot 插件)。

安装步骤

  1. JDK:下载并安装 Oracle JDKOpenJDK
  2. Maven:下载并配置 Apache Maven
  3. IDE:下载并安装 IntelliJ IDEA(社区版免费)。

提示:确保环境变量配置正确,运行 java -versionmvn -v 验证安装。


3. 创建 Spring Boot 项目

有两种方式创建 Spring Boot 项目:使用 Spring InitializrIDE 内置工具。本教程推荐使用 Spring Initializr。

3.1 使用 Spring Initializr 创建项目

  1. 访问 start.spring.io
  2. 配置项目:
    • Project:选择 Maven(或 Gradle)。
    • Language:选择 Java。
    • Spring Boot 版本:选择最新稳定版(如 2.7.x 或 3.x)。
    • Group:com.example(可自定义)。
    • Artifact:myproject(项目名)。
    • Dependencies:添加 Spring Web(用于构建 RESTful API)。
  3. 点击 Generate 下载项目压缩包。

3.2 使用 IDE 创建项目

如果你使用 IntelliJ IDEA:

  1. 打开 IDE,选择 New Project
  2. 选择 Spring Initializr,配置与上同。
  3. 点击 Next,选择依赖,点击 Finish

4. 项目结构

解压或打开项目后,你会看到以下目录结构:

myproject
├── src
│   ├── main
│   │   ├── java
│   │   │   └── com
│   │   │       └── example
│   │   │           └── myproject
│   │   │               └── MyprojectApplication.java  # 应用入口
│   │   └── resources
│   │       ├── static  # 静态资源
│   │       ├── templates  # 视图模板(可选)
│   │       └── application.properties  # 配置文件
│   └── test
│       └── java
│           └── com
│               └── example
│                   └── myproject
│                       └── MyprojectApplicationTests.java  # 测试类
├── pom.xml  # Maven 配置文件
└── ...
  • MyprojectApplication.java:Spring Boot 应用的入口,带有 @SpringBootApplication 注解。
  • application.properties:用于配置应用,如端口、数据库等。

5. 编写第一个 RESTful API

5.1 创建控制器

src/main/java/com/example/myproject 目录下,创建一个新的 Java 类 HelloController.java

package com.example.myproject;

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

@RestController
public class HelloController {

    @GetMapping("/hello")
    public String hello() {
        return "Hello, Spring Boot!";
    }
}

解释

  • @RestController:表示该类是一个 RESTful 控制器,返回 JSON 或纯文本。
  • @GetMapping("/hello"):处理 /hello 路径的 GET 请求。

5.2 运行应用

方式一:使用 IDE 运行
  1. 打开 MyprojectApplication.java
  2. 右键点击,选择 Run ‘MyprojectApplication’
方式二:使用 Maven 命令
  1. 打开命令行,导航到项目根目录。
  2. 运行 mvn spring-boot:run

应用启动后,你会看到类似以下输出:

...
Tomcat started on port(s): 8080 (http) with context path ''
...

提示:默认端口为 8080,可在 application.properties 中修改,如 server.port=8081


6. 测试应用

打开浏览器或 Postman,访问 http://localhost:8080/hello,你应该看到:

Hello, Spring Boot!

测试成功:说明你的 Spring Boot 应用已正常运行。


7. 进阶:连接数据库

7.1 添加依赖

pom.xml 中添加 MySQL 和 Spring Data JPA 依赖:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <scope>runtime</scope>
</dependency>

7.2 配置数据库

application.properties 中添加数据库配置:

spring.datasource.url=jdbc:mysql://localhost:3306/mydb
spring.datasource.username=root
spring.datasource.password=yourpassword
spring.jpa.hibernate.ddl-auto=update

注意:确保 MySQL 已安装并创建了数据库 mydb

7.3 创建实体类

com.example.myproject 包下创建 User.java

package com.example.myproject;

import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;

@Entity
public class User {
    @Id
    @GeneratedValue(strategy = GenerationType.IDENTITY)
    private Long id;
    private String name;

    // Getter 和 Setter
    public Long getId() { return id; }
    public void setId(Long id) { this.id = id; }
    public String getName() { return name; }
    public void setName(String name) { this.name = name; }
}

7.4 创建 Repository

com.example.myproject 包下创建 UserRepository.java

package com.example.myproject;

import org.springframework.data.jpa.repository.JpaRepository;

public interface UserRepository extends JpaRepository<User, Long> {
}

7.5 修改控制器

HelloController.java 中添加新方法:

package com.example.myproject;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RestController;

@RestController
public class HelloController {

    @Autowired
    private UserRepository userRepository;

    @GetMapping("/hello")
    public String hello() {
        return "Hello, Spring Boot!";
    }

    @PostMapping("/users")
    public User createUser(@RequestBody User user) {
        return userRepository.save(user);
    }
}

7.6 测试数据库操作

使用 Postman 发送 POST 请求到 http://localhost:8080/users,body 中填入 JSON:

{
    "name": "张三"
}

成功后,你会在数据库中看到新用户记录。


8. 部署应用

8.1 打包应用

在项目根目录运行:

mvn package

生成 target/myproject-0.0.1-SNAPSHOT.jar

8.2 运行 JAR 文件

在命令行中运行:

java -jar target/myproject-0.0.1-SNAPSHOT.jar

应用将启动并监听 8080 端口。

提示:可将 JAR 部署到服务器,如 AWS、阿里云等。


常见问题与解决

  • 端口被占用:修改 application.properties 中的 server.port
  • 数据库连接失败:检查数据库配置和 MySQL 服务状态。
  • 依赖冲突:使用 mvn dependency:tree 查看并解决依赖冲突。

相关推荐

如何使用 DeepSeek 提升工作效率
Spring Boot 3.x 集成 Spring Security 实现安全的 RESTful API

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值