【SpringMVC】 三层架构

一.lombok工具包

中央仓库查找这个工具包:https://mvnrepository.com/

给类添加@Data注解就可以获取gettter和setter方法 , 这样我们就不必写getter 和 setter 方法.

也可以给成员属性添加单独的@getter 和 @setter , 针对某个成员属性单独添加setter或setter方法.

二.如果使用springboot快速地添加包

1..安装插件

IDEA插件市场搜索EditStar

2.在pom.xml中右击 -- 选择generate -- Edit Starters

3.添加Lombok

4.此时lombok就添加进来了


lombok也提供了其他一些细粒度的注解

|-----------|--------------|
| @Getter | 自动添加getter方法 |
| @Setter | 自动添加setter方法 |
| @ToString | 自动添加String方法 |
| @HashCode | hasCode方法 |

三.应用分层

应用分层是一种开发设计思想,它将应用程序分为多个层次,这多个层次分别负责各自的职责,多个层次之间协同提供完整的功能.

常见的MVC设计模式 , 就是引用分层的一种具体体现.

为什么要分层 ?

如果不分层, 大量的代码混杂在一起,很容易出现逻辑不清晰,各模块相互依赖,代码扩展性差,改一处就牵一发而动全身等问题.

三层架构

MVC模式是把整体的系统分成了 Model(模型), View(视图)和Controller (控制器)三个层次,也就是将⽤⼾视图和业务处理隔离开,并且通过控制器连接起来,很好地实现 了表现和逻辑的解耦,是⼀种标准的软件分层架构。

⽬前现在更主流的开发⽅式是 "前后端分离" 的⽅式, 后端开发⼯程师不再需要关注前端的实现, 所以对 于Java后端开发者, ⼜有了⼀种新的分层架构: 把整体架构分为表现层、业务逻辑层和数据层. 这种分层⽅式也称之为"三层架构"

1.表现层 Controller

接收请求,返回结果

2.业务逻辑层 Service

主要处理业务逻辑

3.数据层/持久层 Dao

负责处理数据,包含数据的存储/获取

MVC 和三层架构的区别和联系

MVC模式强调数据和视图分离, 将数据展⽰和数据处理分开, 通过控制器对两者进⾏组合.

三层架构强调不同维度数据处理的⾼内聚和低耦合, 将交互界⾯, 业务处理和数据库操作的逻辑分开.

在⽇常的开发中可以经常看到两种共存的情况,⽐如我们设计模型层Model的时候往往也会拆分出业务逻辑层(Service层)和数据访问层(Dao层)。

但是⼆者的⽬的是相同的, 都是"解耦,分层,代码复⽤"

相关推荐
thefool11226630 分钟前
TCP 1
java·1024程序员节
paopaokaka_luck2 小时前
宠物门店经营管理系统(销售与库存联动、进货自动记账、 退换与退款关联、员工个人业绩、ECharts 经营分析、滞销识别与客户分层、宠物档案年龄计算)
前端·javascript·spring boot·mysql·echarts·mybatis·1024程序员节
金銀銅鐵3 小时前
[Java] 用 GUI 展示 EnumSet 增减元素时的内部变化(下)
java·后端·ai编程
AI人工智能+电脑小能手3 小时前
一次请求打几个下游,这个Java并行任务工具类6个方法按序聚合
java·线程池·并发编程·1024程序员节·批量处理·并行任务
paopaokaka_luck5 小时前
心理咨询管理系统(WebSocket实时沟通、基于用户的协同过滤、 ECharts多维分析、 预约业务流程、预约校验与定时处理)
java·vue.js·spring boot·mysql·spring·echarts·1024程序员节
2301_32241428045 小时前
springboot农产品交易平台的设计与实现08055-计算机毕设 原创(免费领源码+部署教程+开发环境)
java·spring boot·redis·mysql·tomcat·maven·mybatis
考虑考虑6 小时前
JDK26的JEP 500属性
java·后端·java ee
LMT流氓兔6 小时前
第五单元——第十二课:把脚本整理成项目
java·数据库·python·langchain·1024程序员节
yuniko-n6 小时前
【JUC】四种内存屏障示例
java·1024程序员节
念何架构之路7 小时前
Go reflect 包:结构体反射 —Field、Tag 与 VisibleFields
java·数据库·golang