若依实现实训
Springboot 业务流程
层次逻辑
- Controller(控制器层):
- 位于
src/main/java/com/example/springbootdemo/controller/
目录。 - 处理来自客户端的 HTTP 请求,调用 Service 层执行业务逻辑,返回结果给客户端。
- 通常使用
@RestController
注解。
- 位于
- Service(业务逻辑层):
- 位于
src/main/java/com/example/springbootdemo/service/
目录,impl/
目录存放具体的实现类。 - 负责处理业务逻辑,与 Repository 层交互。
- 通常使用
@Service
注解。
- 位于
- Mapper/Repository(数据访问层):
- 位于
src/main/java/com/example/springbootdemo/mapper/
目录。 - 用于和数据库进行交互,执行数据库的增删改查操作。
- 通常使用
@Mapper
(MyBatis)或者@Repository
(JPA)注解。
- 位于
- Pojo(实体类层):
- 位于
src/main/java/com/example/springbootdemo/pojo/
目录。 - 存放实体类(对应数据库表的结构),比如
User
对象。
- 位于
- Config(配置层):
- 位于
src/main/java/com/example/springbootdemo/config/
目录。 - 存放项目的配置类,比如数据库配置、安全配置、全局跨域配置等。
- 位于
- Utils(工具类层):
- 位于
src/main/java/com/example/springbootdemo/utils/
目录。 - 存放常用的工具类,比如日期转换、字符串处理等。
- 位于
- Resources(资源层):
- 位于
src/main/resources/
目录。 - 存放项目的配置文件(如
application.properties
)、静态资源(如 HTML、CSS、JS)、以及 Mapper 的 XML 配置文件(如果使用 MyBatis)。
- 位于
- Test(测试层):
- 位于
src/test/
目录。 - 存放测试类,用于编写单元测试和集成测试。
- 位于
如果需要扩展层级结构,通常可以增加:
- DTO(Data Transfer Object):用于在 Controller 和 Service 之间传输数据。
- Exception Handling(异常处理层):集中处理全局异常。
CREATE TABLE user_profiles (
id INT AUTO_INCREMENT PRIMARY KEY, -- 用户唯一标识
name VARCHAR(255) NOT NULL, -- 姓名
identity VARCHAR(255) NOT NULL, -- 身份
contact VARCHAR(255) NOT NULL, -- 紧急联系人
contact_phone VARCHAR(20) NOT NULL, -- 紧急联系人电话
contact_relationship VARCHAR(50), -- 紧急联系人关系
age INT NOT NULL, -- 年龄
gender ENUM('male', 'female') NOT NULL, -- 性别
health TEXT, -- 健康状况
address VARCHAR(255), -- 家庭住址
face_image VARCHAR(255), -- 人脸图片文件路径
profile_photo VARCHAR(255), -- 个人照片文件路径
medical_history TEXT, -- 医疗历史
email VARCHAR(255), -- 电子邮件
status ENUM('active', 'inactive', 'terminated') DEFAULT 'active', -- 用户状态
notes TEXT, -- 备注
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP, -- 记录创建时间
last_updated TIMESTAMP DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP -- 最后更新时间
);
1. 项目设置
- 创建项目:使用 Spring Initializr(start.spring.io)或其他工具创建一个新的 Spring Boot 项目。
- 配置依赖:在
pom.xml
(Maven)或build.gradle
(Gradle)中添加所需的依赖,例如 Web、JPA、MySQL 等。
2. 创建实体类(Model)
- 定义实体类:在
src/main/java/com/example/yourproject/pojo
目录中创建实体类,使用@Entity
注解标记它。 - 映射到数据库:使用
@Table
注解指定数据库表名,使用@Column
注解映射字段到表的列。
3. 创建数据访问层(Repository)
- 创建接口:在
src/main/java/com/example/yourproject/repository
目录中创建接口,继承JpaRepository
或CrudRepository
。 - 自定义查询:如果需要,可以在接口中定义自定义查询方法。
4. 创建服务层(Service)
- 定义业务逻辑:在
src/main/java/com/example/yourproject/service
目录中创建服务类,使用@Service
注解标记它。 - 实现业务方法:在服务类中实现业务逻辑,并调用数据访问层的方法。
5. 创建控制层(Controller)
- 定义 REST API:在
src/main/java/com/example/yourproject/controller
目录中创建控制器类,使用@RestController
注解标记它。 - 映射请求:使用
@RequestMapping
、@GetMapping
、@PostMapping
等注解映射 HTTP 请求到相应的处理方法。
6. 配置应用程序(Configuration)
- 数据库配置:在
src/main/resources/application.properties
或application.yml
文件中配置数据库连接信息、JPA 设置等。 - 其他配置:配置安全、消息队列、缓存等其他组件。
7. 测试
- 编写测试:在
src/test/java/com/example/yourproject
目录中编写单元测试和集成测试,使用@SpringBootTest
注解加载 Spring 上下文进行测试。 - 运行测试:运行测试以确保应用程序的功能正常。
8. 运行和部署
- 运行应用:通过 IDE 或使用命令行(
mvn spring-boot:run
或./gradlew bootRun
)运行应用程序。 - 打包和部署:使用 Maven 或 Gradle 打包应用程序,生成可执行的 JAR 文件或 WAR 文件,然后部署到服务器或云平台上。
业务流程示例:
假设你有一个简单的用户管理系统,业务流程可能如下:
- 用户注册:用户提交注册表单,控制器接收请求并调用服务层的注册方法。服务层处理业务逻辑并保存用户数据到数据库。返回注册成功的响应。
- 用户登录:用户提交登录信息,控制器接收请求并调用服务层的登录方法。服务层验证用户身份并生成认证令牌(如 JWT)。返回认证结果和令牌。
- 用户查询:用户请求查看个人信息,控制器接收请求并调用服务层的方法获取用户数据。服务层从数据库中检索数据并返回给控制器。控制器将数据发送给用户。
- 用户更新:用户提交更新信息,控制器接收请求并调用服务层的更新方法。服务层处理业务逻辑并更新用户数据到数据库。返回更新结果。
查询全部数据
http://localhost:5024/user-profiles/list
vue3接收路由
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 涂良湘!