MVC (Model - View - Controller)
MVC通常是前后端不分离的架构,将应用程序分为三个主要部分:模型(Model)、视图(View)和控制器(Controller)。在Java开发中,MVC常用于构建Web应用程序。
- 视图(View) :视图是用户界面的表示,负责展示模型中的数据给用户,并接收用户的输入。在Java中,视图通常是JSP(JavaServer Pages)、Thymeleaf或者HTML等。
- 模型(Model) :模型代表应用程序的数据和业务逻辑。在Java中,模型通常是POJO(Plain Old Java Object)或JavaBean,负责处理数据持久化、业务逻辑和数据校验等任务。
- 控制器(Controller) :控制器是模型和视图之间的协调者,负责处理用户的请求并调用相应的模型来处理业务逻辑,然后选择正确的视图来展示结果。在Java中,控制器通常是基于Servlet或Spring MVC等框架实现的。
层级 | 包名/类名 | 类名/对象 | 解释 | 对应三层架构 |
---|---|---|---|---|
模型(Model) | com.example.model | XxxModel/XxxEntity | 数据模型,表示业务实体 | 数据访问层 |
视图(View) | resources/templates | xxx.html/xxx.jsp | 视图模板,负责数据展示 | 表示层 |
控制器(Controller) | com.example.controller | XxxController | 处理请求,协调模型和视图 | 表示层 |
服务(Service) | com.example.service | XxxService | 封装业务逻辑 | 业务逻辑层 |
com.example.service.impl | XxxServiceImpl | 业务逻辑的具体实现 | 业务逻辑层 | |
数据访问(Repository/Mapper) | com.example.repository/com.example.mapper | XxxRepository/XxxMapper | 数据持久化操作 | 数据访问层 |
配置 | com.example.config | XxxConfig | 应用配置类 | - |
工具类 | com.example.util | XxxUtil | 通用工具类 | - |
常量 | com.example.constant | XxxConstant | 常量定义 | - |
启动类 | com.example | Application | Spring Boot启动类 | - |
MVC架构比较古老,现在一般都使用前后端分离的架构了。