
Spring Boot是一个开源的Java基础框架,它使得创建独立的、生产级别的Spring应用变得更容易。它“跑起来”即可用,内嵌了Tomcat、Jetty等Servlet容器,无需部署WAR文件,也无需单独的Servlet容器。
肖哥弹架构 跟大家“弹弹” 高并发锁, 关注公号回复 ‘mvcc’ 获得手写数据库事务代码
欢迎 点赞,关注,评论。
关注公号Solomon肖哥弹架构获取更多精彩内容
历史热点文章
- 解锁大语言模型参数:零基础掌握大型语言模型参数奥秘与实践指南
- 高性能连接池之HikariCP框架分析:高性能逐条分解(架构师篇)
- 缓存雪崩/穿透/击穿/失效原理图/14种缓存数据特征+10种数据一致性方案
- Java 8函数式编程全攻略:43种函数式业务代码实战案例解析(收藏版)
- 一个项目代码讲清楚DO/PO/BO/AO/E/DTO/DAO/ POJO/VO
- 17个Mybatis Plugs注解:Mybatis Plugs插件架构设计与注解案例(必须收藏)
环境准备
在开始之前,请确保你的开发环境中安装了以下软件:
- Java Development Kit (JDK) 8 或更高版本
- Maven 3.0 或更高版本
- 一个文本编辑器或IDE(如IntelliJ IDEA或Eclipse)
- Git
创建Spring Boot项目
我们可以通过Spring Initializr快速生成一个Spring Boot项目的基础结构。
- 访问 Spring Initializr
- 选择生成Maven项目,选择Java语言
- 指定项目元数据(Group, Artifact, Name, Description)
- 添加依赖(Dependencies),我们至少需要
Spring Web依赖 - 点击“Generate”生成项目,下载并解压
项目架构图

图展示了Spring Boot应用的基本架构,包括启动类、控制器、服务、仓库和实体类,以及它们之间的关系。
项目结构
解压后的项目结构大致如下:
my-application/
├── src/
│ ├── main/
│ │ ├── java/
│ │ │ └── com/
│ │ │ └── example/
│ │ │ └── myapplication/
│ │ │ ├── MyApplication.java
│ │ │ └── controller/
│ │ │ └── HelloController.java
│ │ └── resources/
│ │ ├── application.properties
│ │ └── static/
│ │ └── index.html
├── pom.xml
└── README.md
编写Hello World应用
1. 启动类
在com.example.myapplication包中创建一个启动类MyApplication.java:
package com.example.myapplication;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication // 标注这是一个Spring Boot应用
public class MyApplication {
public static void main(String[] args) {
SpringApplication.run(MyApplication.class, args); // 启动应用
}
}
2. 控制器
在com.example.myapplication.controller包中创建一个控制器类HelloController.java:
package com.example.myapplication.controller;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;
@RestController // 标注这是一个REST控制器
public class HelloController {
@GetMapping("/hello") // 映射GET请求到/hello
public String sayHello() {
return "Hello, World!"; // 返回字符串
}
}
3. 运行应用
在项目根目录下运行以下命令来启动应用:
mvn spring-boot:run
应用启动后,访问http://localhost:8080/hello,你将看到输出Hello, World!。
案例:Todo应用
1. 添加依赖
在pom.xml中添加以下依赖:
<dependencies>
<!-- Spring Web -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<!-- Spring Data JPA -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-jpa</artifactId>
</dependency>
<!-- H2 Database -->
<dependency>
<groupId>com.h2database</groupId>
<artifactId>h2</artifactId>
<scope>runtime</scope>
</dependency>
</dependencies>
2. 实体类
创建Todo实体类:
package com.example.myapplication.model;
import javax.persistence.Entity;
import javax.persistence.GeneratedValue;
import javax.persistence.GenerationType;
import javax.persistence.Id;
@Entity // 标注这是一个JPA实体
public class Todo {
@Id
@GeneratedValue(strategy = GenerationType.AUTO)
private Long id;
private String description;
private boolean completed;
// 构造函数、getter和setter省略
}
3. 仓库接口
创建TodoRepository接口:
package com.example.myapplication.repository;
import com.example.myapplication.model.Todo;
import org.springframework.data.repository.CrudRepository;
public interface TodoRepository extends CrudRepository<Todo, Long> {
}
4. 服务类
创建TodoService服务类:
package com.example.myapplication.service;
import com.example.myapplication.model.Todo;
import com.example.myapplication.repository.TodoRepository;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;
import java.util.List;
@Service
public class TodoService {
@Autowired
private TodoRepository todoRepository;
public List<Todo> getAllTodos() {
return todoRepository.findAll();
}
public Todo addTodo(Todo todo) {
return todoRepository.save(todo);
}
// 其他方法省略
}
5. 控制器
更新HelloController为TodoController:
package com.example.myapplication.controller;
import com.example.myapplication.model.Todo;
import com.example.myapplication.service.TodoService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.*;
import java.util.List;
@RestController
@RequestMapping("/todos")
public class TodoController {
@Autowired
private TodoService todoService;
@GetMapping
public List<Todo> getAllTodos() {
return todoService.getAllTodos();
}
@PostMapping
public Todo addTodo(@RequestBody Todo todo) {
return todoService.addTodo(todo);
}
// 其他方法省略
}
6. 运行应用
运行应用后,你可以使用Postman或curl来测试API:
- 获取所有Todo:
GET http://localhost:8080/todos - 添加Todo:
POST http://localhost:8080/todos,请求体为JSON格式的Todo对象。
总结
Spring Boot简化了Spring应用的创建和配置,使得开发者可以专注于业务逻辑。通过本文,你已经学会了如何创建一个简单的Spring Boot应用,并了解了一个Todo应用的实现。希望这能帮助你快速上手Spring Boot。
1万+

被折叠的 条评论
为什么被折叠?



