Spring Boot 应用开发入门
1. Spring Boot 开发环境配置
1.1 安装 Java 开发环境
Spring Boot 是基于 Java 的开发框架,因此首先需要安装 Java Development Kit (JDK)。建议使用 JDK 11 或以上版本。
-
安装 JDK:
bash
复制代码
brew install openjdk@11
-
配置环境变量:
bash
复制代码
export PATH="/usr/local/opt/openjdk@11/bin:$PATH" export JAVA_HOME="/usr/local/opt/openjdk@11/libexec/openjdk.jdk/Contents/Home"
-
检查 JDK 安装:
bash
复制代码
java -version
1.2 安装 Spring Boot CLI(可选)
Spring Boot CLI 是一个命令行工具,可以通过命令行快速创建和运行 Spring Boot 项目。
-
安装 Spring Boot CLI:
bash
复制代码
brew install springboot
-
检查安装:
bash
复制代码
spring --version
1.3 安装 IDE(推荐 IntelliJ IDEA 或 VS Code)
- IntelliJ IDEA:Spring Boot 官方推荐的 IDE,支持自动补全、调试、Spring 配置等功能。
- Visual Studio Code:轻量级编辑器,通过插件可以支持 Spring Boot 开发。
2. 创建 Spring Boot 项目
2.1 使用 Spring Initializr 创建项目
Spring Initializr 是一个在线工具,用于快速生成 Spring Boot 项目的骨架。
- 打开 Spring Initializr。
- 配置项目:
- Project: Maven Project 或 Gradle Project
- Language: Java
- Spring Boot Version: 默认最新稳定版
- Group: com.example
- Artifact: demo
- Dependencies: 选择需要的依赖,如 Spring Web, Spring Data JPA, H2 Database, Thymeleaf 等。
- 点击 Generate 下载并解压生成的项目。
2.2 使用 Spring CLI 创建项目
通过 Spring CLI 可以在命令行创建项目:
-
创建项目:
bash
复制代码
spring init --dependencies=web,data-jpa,h2 --build=maven --java-version=11 --name=demo demo
-
进入项目目录:
bash
复制代码
cd demo
-
运行项目:
bash
复制代码
spring run src/main/java/com/example/demo/DemoApplication.java
3. Spring Boot 应用的结构
一个基本的 Spring Boot 项目通常包含以下几个部分:
csharp
复制代码
demo ├── src │ ├── main │ │ ├── java │ │ │ └── com │ │ │ └── example │ │ │ └── demo │ │ │ ├── DemoApplication.java # 主应用入口 │ │ │ ├── controller │ │ │ ├── service │ │ │ └── repository │ │ ├── resources │ │ │ ├── application.properties # 配置文件 │ │ │ └── static │ │ │ └── templates └── pom.xml
4. 编写一个简单的 Spring Boot 应用
4.1 创建主应用类(DemoApplication.java
)
复制代码
package com.example.demo; import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication; @SpringBootApplication public class DemoApplication { public static void main(String[] args) { SpringApplication.run(DemoApplication.class, args); } }
4.2 创建一个简单的 Controller
复制代码
package com.example.demo.controller; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; @RestController public class HelloController { @GetMapping("/hello") public String sayHello() { return "Hello, Spring Boot!"; } }
4.3 配置文件(application.properties
)
properties
复制代码
server.port=8081 spring.datasource.url=jdbc:h2:mem:testdb spring.datasource.driverClassName=org.h2.Driver spring.datasource.username=sa spring.datasource.password=password spring.jpa.database-platform=org.hibernate.dialect.H2Dialect
4.4 运行 Spring Boot 应用
通过以下两种方式之一来运行 Spring Boot 应用:
-
使用 Maven:
bash
复制代码
mvn spring-boot:run
-
通过 IDE 运行: 只需在 IDE 中点击运行按钮即可启动应用。
5. 添加数据库支持(Spring Data JPA)
5.1 添加依赖
在 pom.xml
中添加 Spring Data JPA 和 H2 数据库依赖:
xml
复制代码
<dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-jpa</artifactId> </dependency> <dependency> <groupId>com.h2database</groupId> <artifactId>h2</artifactId> <scope>runtime</scope> </dependency> </dependencies>
5.2 创建实体类(User.java
)
复制代码
package com.example.demo.model; 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; private String email; // Getters and Setters }
5.3 创建 Repository 接口
复制代码
package com.example.demo.repository; import com.example.demo.model.User; import org.springframework.data.jpa.repository.JpaRepository; public interface UserRepository extends JpaRepository<User, Long> { }
5.4 创建 Service 和 Controller
UserService.java
复制代码
package com.example.demo.service; import com.example.demo.model.User; import com.example.demo.repository.UserRepository; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.stereotype.Service; import java.util.List; @Service public class UserService { @Autowired private UserRepository userRepository; public List<User> getAllUsers() { return userRepository.findAll(); } }
UserController.java
复制代码
package com.example.demo.controller; import com.example.demo.model.User; import com.example.demo.service.UserService; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.web.bind.annotation.GetMapping; import org.springframework.web.bind.annotation.RestController; import java.util.List; @RestController public class UserController { @Autowired private UserService userService; @GetMapping("/users") public List<User> getUsers() { return userService.getAllUsers(); } }
6. 总结
通过 Spring Boot,你可以快速构建一个 Web 应用,减少了许多繁琐的配置和样板代码,专注于业务逻辑的实现。Spring Boot 集成了许多常用功能,如 Web 开发、数据库支持、集成测试等,使得开发过程更加高效和简洁。
更多内容可以访问我的博客 https://ai.tmqcjr.com