关于作者:我是小贺,乐于分享各种前端知识,同时欢迎大家关注我的个人博客以及微信公众号[小贺前端笔记]
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 插件)。
安装步骤:
- JDK:下载并安装 Oracle JDK 或 OpenJDK。
- Maven:下载并配置 Apache Maven。
- IDE:下载并安装 IntelliJ IDEA(社区版免费)。
提示:确保环境变量配置正确,运行
java -version
和mvn -v
验证安装。
3. 创建 Spring Boot 项目
有两种方式创建 Spring Boot 项目:使用 Spring Initializr 或 IDE 内置工具。本教程推荐使用 Spring Initializr。
3.1 使用 Spring Initializr 创建项目
- 访问 start.spring.io。
- 配置项目:
- Project:选择 Maven(或 Gradle)。
- Language:选择 Java。
- Spring Boot 版本:选择最新稳定版(如 2.7.x 或 3.x)。
- Group:com.example(可自定义)。
- Artifact:myproject(项目名)。
- Dependencies:添加 Spring Web(用于构建 RESTful API)。
- 点击 Generate 下载项目压缩包。
3.2 使用 IDE 创建项目
如果你使用 IntelliJ IDEA:
- 打开 IDE,选择 New Project。
- 选择 Spring Initializr,配置与上同。
- 点击 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 运行
- 打开
MyprojectApplication.java
。 - 右键点击,选择 Run ‘MyprojectApplication’。
方式二:使用 Maven 命令
- 打开命令行,导航到项目根目录。
- 运行
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