关于作者:我是小贺,乐于分享各种前端知识,同时欢迎大家关注我的个人博客以及微信公众号[小贺前端笔记]
Spring Boot 是一个用于简化 Spring 应用开发的框架。它提供了许多开箱即用的功能,如自动配置、嵌入式服务器等,使得开发者可以快速构建生产级别的应用。Spring Boot 特别适合前端开发者转向全栈开发,因为它简化了后端开发的复杂性。
为什么使用 Spring Boot?
在开始之前,确保你已安装以下软件:
安装步骤:
提示:确保环境变量配置正确,运行
java -version
和mvn -v
验证安装。
有两种方式创建 Spring Boot 项目:使用 Spring Initializr 或 IDE 内置工具。本教程推荐使用 Spring Initializr。
如果你使用 IntelliJ IDEA:
解压或打开项目后,你会看到以下目录结构:
myproject
├── src
│ ├── main
│ │ ├── java
│ │ │ └── com
│ │ │ └── example
│ │ │ └── myproject
│ │ │ └── MyprojectApplication.java # 应用入口
│ │ └── resources
│ │ ├── static # 静态资源
│ │ ├── templates # 视图模板(可选)
│ │ └── application.properties # 配置文件
│ └── test
│ └── java
│ └── com
│ └── example
│ └── myproject
│ └── MyprojectApplicationTests.java # 测试类
├── pom.xml # Maven 配置文件
└── ...
@SpringBootApplication
注解。在 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 请求。MyprojectApplication.java
。mvn spring-boot:run
。应用启动后,你会看到类似以下输出:
...
Tomcat started on port(s): 8080 (http) with context path ''
...
提示:默认端口为 8080,可在
application.properties
中修改,如server.port=8081
。
打开浏览器或 Postman,访问 http://localhost:8080/hello
,你应该看到:
Hello, Spring Boot!
测试成功:说明你的 Spring Boot 应用已正常运行。
在 pom.xml
中添加 MySQL 和 Spring Data JPA 依赖:
<dependency>
<groupId>org.springframework.bootgroupId>
<artifactId>spring-boot-starter-data-jpaartifactId>
dependency>
<dependency>
<groupId>mysqlgroupId>
<artifactId>mysql-connector-javaartifactId>
<scope>runtimescope>
dependency>
在 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
。
在 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; }
}
在 com.example.myproject
包下创建 UserRepository.java
:
package com.example.myproject;
import org.springframework.data.jpa.repository.JpaRepository;
public interface UserRepository extends JpaRepository<User, Long> {
}
在 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);
}
}
使用 Postman 发送 POST 请求到 http://localhost:8080/users
,body 中填入 JSON:
{
"name": "张三"
}
成功后,你会在数据库中看到新用户记录。
在项目根目录运行:
mvn package
生成 target/myproject-0.0.1-SNAPSHOT.jar
。
在命令行中运行:
java -jar target/myproject-0.0.1-SNAPSHOT.jar
应用将启动并监听 8080 端口。
提示:可将 JAR 部署到服务器,如 AWS、阿里云等。
application.properties
中的 server.port
。mvn dependency:tree
查看并解决依赖冲突。如何使用 DeepSeek 提升工作效率
Spring Boot 3.x 集成 Spring Security 实现安全的 RESTful API