Spring Boot 3 单模块项目工程搭建 - 下篇(个人开发模板)

在上一篇文章中,我们完成了Spring Boot 3单模块项目的初步搭建,包括基础的项目结构和依赖配置。在本篇文章中,我们将进入更深入的开发,示范如何结合Spring Boot的基本功能来创建一个简单的RESTful API服务,并进行基本的业务逻辑实现。

1. 项目结构回顾

在开发中,我们的项目结构如下:

my-spring-boot-app
├── src
│   ├── main
│   │   ├── java
│   │   │   └── com
│   │   │       └── example
│   │   │           └── demo
│   │   │               ├── DemoApplication.java
│   │   │               ├── controller
│   │   │               │   └── UserController.java
│   │   │               ├── service
│   │   │               │   └── UserService.java
│   │   │               └── model
│   │   │                   └── User.java
│   │   └── resources
│   │       └── application.yml
└── pom.xml

2. 业务逻辑与模型

在此示例中,我们将创建一个简单的用户管理服务,包含用户的基本信息。首先,我们需要定义一个用户模型类User.java

package com.example.demo.model;

public class User {
    private Long id;
    private String name;
    private String email;

    // 构造方法
    public User(Long id, String name, String email) {
        this.id = id;
        this.name = name;
        this.email = email;
    }

    // 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;
    }

    public String getEmail() {
        return email;
    }

    public void setEmail(String email) {
        this.email = email;
    }
}

3. 服务层

接下来,在service包中创建一个服务类UserService.java,该服务类负责用户数据的处理逻辑。

package com.example.demo.service;

import com.example.demo.model.User;

import java.util.ArrayList;
import java.util.List;

public class UserService {
    private List<User> users = new ArrayList<>();

    public UserService() {
        // 初始化一些用户数据
        users.add(new User(1L, "张三", "zhangsan@example.com"));
        users.add(new User(2L, "李四", "lisi@example.com"));
    }

    public List<User> findAll() {
        return users;
    }

    public User findById(Long id) {
        return users.stream().filter(user -> user.getId().equals(id)).findFirst().orElse(null);
    }
}

4. 控制器层

再来创建控制器类UserController.java,它用于处理HTTP请求并返回用户数据。

package com.example.demo.controller;

import com.example.demo.model.User;
import com.example.demo.service.UserService;
import org.springframework.http.ResponseEntity;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.PathVariable;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

@RestController
public class UserController {
    private final UserService userService;

    public UserController() {
        this.userService = new UserService();
    }

    @GetMapping("/users")
    public ResponseEntity<List<User>> getAllUsers() {
        return ResponseEntity.ok(userService.findAll());
    }

    @GetMapping("/users/{id}")
    public ResponseEntity<User> getUserById(@PathVariable Long id) {
        User user = userService.findById(id);
        if (user != null) {
            return ResponseEntity.ok(user);
        } else {
            return ResponseEntity.notFound().build();
        }
    }
}

5. 启动类

我们的启动类DemoApplication.java保持不变,确保在类上添加@SpringBootApplication注解。

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);
    }
}

6. 配置文件

application.yml中,我们可以设置简单的配置。例如:

server:
  port: 8080

7. 运行与测试

完成以上步骤后,可以运行Spring Boot应用程序。在浏览器或Postman中访问以下URL:

  • 获取所有用户:http://localhost:8080/users
  • 根据ID获取用户:http://localhost:8080/users/1

总结

通过上述步骤,我们成功构建了一个简单的RESTful API。使用Spring Boot 3,我们简化了项目的开发过程,使得开发者能更专注于业务逻辑的实现。未来可以根据需求继续扩展功能,如添加数据库支持、进行用户验证等。希望这个简单的示例能帮助你更好地理解Spring Boot的基本用法,让你在个人开发中更得心应手。

点赞(0) 打赏

微信小程序

微信扫一扫体验

微信公众账号

微信扫一扫加关注

发表
评论
返回
顶部