什么是MVC架构?怎么使用Spring MVC架构开发项目

目录

一、MVC概述

二、Spring MVC框架

功能一览图

(1)Controller类

(2)Mapper

(3)Service

(4)Model

(5)SeviceImpl

三、总结


一、MVC概述

  • Model(模型):表示应用程序的数据业务逻辑,负责与数据库的交互。
  • View(视图):负责用户界面的展示,向用户显示数据
  • Controller(控制器)处理用户的输入,调用相应的模型和视图以完成用户请求。

二、Spring MVC框架

功能一览图

没看懂? 那么就看看下面的详细解析吧

(1)Controller类

  • 作用:负责处理用户请求并返回响应。它是应用程序与用户之间的桥梁。
  • 功能
    • 接收和解析 HTTP 请求。
    • 调用相应的服务层(Service)方法以处理业务逻辑。
    • 返回视图或数据(通常是 JSON 格式)给客户端。

示例代码:

@RestController
@RequestMapping("/students")
public class StudentController {
    @Autowired
    private StudentService studentService;

    @GetMapping("/{id}")
    public Student getStudent(@PathVariable int id) {
        return studentService.findById(id);
    }
}

这里调用了Sevice层的findById方法查询信息,将查询的信息(JSON 格式)返回给客户端

(2)Mapper

  • 作用与数据库进行直接交互,负责 SQL 的执行。通常使用 MyBatis 或其他 ORM(如 JPA)框架。
  • 功能
    • 定义数据访问的方法。
    • 映射 SQL 语句到 Java 方法。
    • 返回数据库查询的结果。
@Mapper
public interface StudentMapper {
    @Select("SELECT * FROM students WHERE id = #{id}")
    Student findById(int id);
}

上述例子中使用sql语句查询学生信息,同时声明数据库处理的接口

(3)Service

  • 作用:处理业务逻辑,通常是业务层的接口
  • 功能
    • 定义业务层的接口方法。
    • 调用 Mapper 层的方法来执行数据库操作
    • 处理事务和业务规则。
public interface StudentService {
//    调用StudentMapper的方法
   Student findByClass(Integer classroom);

}

(4)Model

  • 作用:表示业务数据的结构,通常对应数据库中的表。
  • 功能
    • 定义数据模型的属性和行为
    • 提供 getter 和 setter 方法。
    • 可以包含一些业务逻辑或计算方法。
public class Student {
    private int id;
    private String name;
    private int age;

    // 构造函数、getter 和 setter
}

(5)SeviceImpl

  • 作用:实现 Service定义 接口,包含具体的业务逻辑实现。
  • 功能
    • 实现 Service 接口定义的方法
    • 调用 Mapper 层的方法进行数据库操作
    • 处理复杂的业务逻辑和事务。

三、总结

  • Controller:处理请求和响应,作为用户接口。
  • Mapper:负责与数据库交互,执行 SQL。
  • Service:定义业务逻辑接口,协调 Controller 和 Mapper。
  • Model:表示应用程序的数据结构。
  • ServiceImpl:实现 Service 接口,包含具体的业务逻辑。

相信到这样大家应该对MVC和Springboot MVC架构有所了解吧,再让我们回顾一下这张一览图,是不是比刚开始更理解了呢

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值